我一直在尝试将浮点值四舍五入到 4 精度,但没有成功。
float fconv = 1.0f;
float fdata = 39.934543423412f;
float fres = RoundTo(fdata*fconv, -4);
if(fres <= 39.9345f){do something;} //<-- unwanted behavior
想要的结果是 39.934500000000
实际结果是 39.934543423412
我尝试了很多方法,包括将浮点数舍入到给定的精度,但没有成功。
我正在研究 AMD FX83xx 64 位。程序使用 XE7 在 32 位 Debug 中构建
谢谢