- 主题:for (double j = -12; j < 12 + 0.2; j += 0.2),居然发现会循
for (double j = -12; j < 12 + 0.2; j += 0.2),居然发现会循环到12.2 !为啥?
--
修改:angusta FROM 115.238.75.*
FROM 115.238.75.*
因为0.2用二进制浮点不能准确表示,有舍入。用0.25或者0.5就没问题。
一时想不清楚就老实用整数循环。
【 在 angusta 的大作中提到: 】
: for (double j = -12; j < 12 + 0.2; j += 0.2),居然发现会循环到12.2 !为啥?
: --
: 修改:angusta FROM 115.238.75.*
: ...................
--
FROM 114.249.192.*
因为你的 -12+0.2+...+0.2 和 12 + 0.2 得出的2个“12.2”压根就不相等,或者两个都不是你认为的数据上12.2
【 在 angusta 的大作中提到: 】
: for (double j = -12; j < 12 + 0.2; j += 0.2),居然发现会循环到12.2 !为啥?
:
--
FROM 61.149.161.*