Tim*_*ain 1 ruby floating-point
Float上的truncate方法显然将float截断为整数.那么这里发生了什么:
>> 14820.truncate
=> 14820
>> (148.2 * 100)
=> 14820.0
>> 14820.0.truncate
=> 14820
>> (148.2 * 100).truncate
=> 14819
Run Code Online (Sandbox Code Playgroud)
为什么最后的计算输出不是14820?
浮点舍入错误,与之无关truncate
.试试这个
(148.2 * 100) < 14820
Run Code Online (Sandbox Code Playgroud)
它回来了true
.形象地说,你得到数字148.199999999
而不是148.2
,因为148.2
不能用浮点数精确表示.
归档时间: |
|
查看次数: |
619 次 |
最近记录: |