本文介绍了为什么我的999999999的浮动金额变为10000000000?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我执行以下代码时,它有一个问题:
When I perform the following code, it has a problem:
float number = 999999999;
printf("%lf", number);
结果是10000000000
而不是999999999
.
为什么不是999999999
?
推荐答案
典型float
可以精确表示大约2 个不同的数字,例如1234.0和-0.125. 999999999
不是其中之一. 10000000000.0f
是最接近float
的选择.
Typical float
can represent exactly about 2 different numbers like 1234.0 and -0.125. 999999999
is not one of them. 10000000000.0f
is the closest float
alternative.
近似值是在分配过程中发生的
The approximation occurred during the assignment
float number = 999999999; // Really assigned 10000000000.0f
这篇关于为什么我的999999999的浮动金额变为10000000000?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!