Float round bug in ruby?_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > Float round bug in ruby?

Float round bug in ruby?

 2012/3/28 17:31:57  clark1231  程序员俱乐部  我要评论(0)
  • 摘要:ruby-1.8.7>1.55.round(1)=>1.6ruby-1.8.7>1.555.round(2)=>1.56ruby-1.8.7>1.155.round(2)=>1.16ruby-1.8.7>10.156.round(2)=>10.16ruby-1.8.7>10.155.round(2)=>10.15ruby-1.8.7>10.165.round(2)=>10.16ruby-1.9.2>10.155
  • 标签:Ruby

?

ruby-1.8.7 > 1.55.round(1)
 => 1.6 
ruby-1.8.7 > 1.555.round(2)
 => 1.56 
ruby-1.8.7 > 1.155.round(2)
 => 1.16 
ruby-1.8.7 > 10.156.round(2)
 => 10.16
ruby-1.8.7 > 10.155.round(2)
 => 10.15 
ruby-1.8.7 > 10.165.round(2)
 => 10.16

?

ruby-1.9.2 > 10.155.round(2)
 => 10.15 
ruby-1.9.2 > 10.165.round(2)
 => 10.16
?

?解决方法

1.讲数据类型转变为decimal

2.

BigDecimal.new(10.155.to_s).round(2).to_f
?

?

发表评论
用户名: 匿名