【发布时间】:2017-01-15 03:34:30
【问题描述】:
我需要从字符串中提取一个数字。为此,我使用了众所周知的操作,看起来像这样:
Float(string_var) rescue nil
这很好用,但是我确实有一个小问题。如果一个字符串是"2.50",我得到的变量是2.5。甚至可以在末尾创建带有“不必要”0 位的 Float 对象吗?我可以将"2.50" 直接翻译成2.50 吗?
【问题讨论】:
-
Float("2,50") rescue nil 给出 nil 而不是 2,5
-
我编辑了这个问题,现在它是合法的
-
据我所知,您似乎在寻找
printf("%.2f", theFloat)。最后的 0 在那里(2.5 == 2.50 == 2.500000000),我想如果你打印出普通的浮点值,它就不会显示出来。 -
从数学的角度来看,2.5 和 2.50 是同一个数字。如果您关心尾随零,也许您根本不需要 Float。为什么要转换为 Float?
-
@Leo “显示目的”表示属于您视图的格式。
ActiveSupport::NumberHelper提供了几种辅助方法。
标签: ruby floating-point number-formatting