int a=7
int b=10
float answer = (float)a/b;
回答= 0.699999988(我期待0.7 ??)
答案 0 :(得分:3)
短版本是:浮点不准确,它只是一组有限的位,有限的一组位不能用来表示一组无数的数字。
版本较长的版本是:What Every Computer Scientist Should Know About Floating-Point Arithmetic
另见:
答案 1 :(得分:1)
浮点数仅对某个有限位数的精度是准确的。您将需要进行一些舍入以获得整数。
如果需要更高的精度,请使用double数据类型或NSDecimal类(以复杂性为代价保留十进制数字)。
答案 2 :(得分:0)
这是因为浮点计算不准确。
答案 3 :(得分:0)
我唯一依赖的是存在精确的小整数(即-2,-1,0,1,2,正如你可能用来表示[0,1]加上一些特殊值),还有一些人也不好意思使用它。