1
A
回答
9
只需拨打一个.to_f
前一轮
some_float.to_f.round(2)
因为当你在零称之为to_f
,它会返回0.0
9.238.to_f.round(2) # => 9.24
nil.to_f.round(2) # => 0.0
1
@塞尔吉奥的解决方案是更Rubyesque,但概念信任to_f
这样的“非感性”输出有点可疑(为什么是nil.to_f
0.0而不是1.0这件事?这也是一个不错的数字)。写一个比较正统的方法是没什么可羞愧的:
some_float ? some_float.round(2) : 0.0
当然,这看起来有点冗长,但你总是可以选择使用Ruby的许多可能/期权模式之一。我个人使用Ick的maybe
:
some_float.maybe.round(2) || 0.0
相关问题
- 1. 如果零为零则向左移动
- 2. 如果为零,则显示零
- 3. 如果Firebase快照为零,则为UITableView单元格的默认值
- 4. 非零默认值
- 5. 做选项默认为零?
- 6. 做属性默认为零?
- 7. 为什么print-circle默认为零?
- 8. 如果值为零,则为谷歌图表haxis中间值
- 9. 从整数值转换为StringBuffer的用零作为默认值
- 10. 如果没有值的话,导轨的默认最大值函数为零
- 11. 如果为NULL,则返回零
- 12. Rails 3 route - > to #show。默认ID如果为零?
- 13. 自定义JComponent大小默认为零?
- 14. CakePHP的Daterangepicker日期默认为零
- 15. 如果默认值为零,如何设置mysql查询的升序
- 16. 当值为零
- 17. 打印值,如果它是不为零
- 18. Decimal.ToString的,如果该值为零
- 19. SQL返回值如果不为空,则返回零,如果为空
- 20. LINQ to XML设置的值如果不为零,否则使用构造函数的默认值
- 21. FFTW结果为零
- 22. 如果属性是零,然后使用默认值从哈希
- 23. 如果不存在零,则返回零值
- 24. 如果栏位不为零,则显示栏位值
- 25. 如果参考表中的值为空或零,则取消INSERT
- 26. 如果列表对象为零,则设置另一个值
- 27. `eval`除零的结果为零
- 28. Mysql在db的字段中插入零,默认值为9999999
- 29. 联合总是有默认值为零吗?
- 30. GCC默认的主返回值不为零
另见这个答案:http://stackoverflow.com/a/953388/44853 –