在我的计算机上,当我使用0.3(或者某些其他值)的值对变量进行编码并调试并检查变量的值时,其值为0.29999992,但在我的朋友计算机中,它保持在0.3。
//stores 0.29999992
double variable= 0.3;
是否存在配置问题或相关内容?
由于
答案 0 :(得分:3)
这只是二进制浮点工作原理的一个工件。无法在0.3
(或double
中准确表示float
。如果您需要(例如货币申请),请改用decimal
。
答案 1 :(得分:2)
欢迎来到浮点数的世界。一些看似无害的数字无法用浮点表示法精确表示。使用非常接近的近似值。