luc*_*oli 20
你不应该使用double或float与货币打交道时类型:他俩都太多小数和偶尔的舍入误差.金钱可以通过这些漏洞落下,并且在发生错误之后追踪错误将很难.
处理货币时,请使用固定的十进制类型.在Ruby(和Java)中,使用BigDecimal.
Ree*_*ore 13
Ruby 1.8:
class Numeric
def round_to( places )
power = 10.0**places
(self * power).round / power
end
end
(30.6355).round_to(2)
Run Code Online (Sandbox Code Playgroud)
Ruby 1.9:
(30.6355).round(2)
Run Code Online (Sandbox Code Playgroud)
在1.9中,round可以舍入到指定的位数.
| 归档时间: |
|
| 查看次数: |
5561 次 |
| 最近记录: |