怎么算才能不出错??小数的精度问题?
float inta,Dec1;
int Dec2,DecHex,DecL,DecH;
inta=SetFreq*0.00025;
Dec1=inta-int(inta); //小数
Dec2=int(Dec1*4000);
ShowMessage(IntToStr(Dec2)+" "+FloatToStr(Dec1*4000)+" "+FloatToStr(Dec1));
现在如果SetFreq=360001, 则结果为:
1 1.007080078125 0.00025177001953125
如果SetFreq=360007。则:
6 6.988525390625 0.00174713134765625
可是正确结果应该是:
7 7 0.00175
我怎么才能得到正确的结果呢??
int Dec2,DecHex,DecL,DecH;
inta=SetFreq*0.00025;
Dec1=inta-int(inta); //小数
Dec2=int(Dec1*4000);
ShowMessage(IntToStr(Dec2)+" "+FloatToStr(Dec1*4000)+" "+FloatToStr(Dec1));
现在如果SetFreq=360001, 则结果为:
1 1.007080078125 0.00025177001953125
如果SetFreq=360007。则:
6 6.988525390625 0.00174713134765625
可是正确结果应该是:
7 7 0.00175
我怎么才能得到正确的结果呢??
...全文
相关推荐
Mysql 乘法除法精度不一致问题(除法后四位小数)
"MySQL中的乘法和除法运算在处理小数精度时存在不一致的问题,特别是在涉及货币或需要精确计算的场景下,这可能导致不必要的精度损失。在进行除法运算时,结果默认保留小数点后四位,而乘法则根据操作数的精
javascript小数精度丢失的完美解决方法
这就是所谓的JavaScript小数精度丢失问题。针对这一问题,文章提出了几种解决方法,包括乘法、加法、减法运算中对精度进行控制的函数。
C#中处理多位小数精度的精度问题
标题"处理多位小数精度的精度问题"指向的就是使用`decimal`类型来避免浮点数类型的精度损失。
C++数据精度问题(对浮点数保存指定位小数)
针对浮点数保存指定位小数的问题,我们可以使用标准库中的`<sstream>`和`<iomanip>`头文件来实现。
C++数据精度问题的解决方案(对浮点数保存指定位小数)
C++数据精度问题的解决方案(对浮点数保存指定位小数)在C++编程中,对浮点数保存指定位小数是一个常见的问题。


