浮动 'unnecessary' 位数
Float with 'unnecessary' digits
我需要从字符串中生成一个数字。为此,我使用众所周知的操作,看起来像这样:
Float(string_var) rescue nil
这很好用,但是我确实有一个小问题。如果一个字符串是"2.50"
,我得到的变量是2.5
。甚至可以创建末尾带有 'unnecessary' 0 数字的 Float 对象吗?我可以直接将 "2.50"
翻译成 2.50
吗?
简而言之,答案是否定的,因为任何 Float 在检查时都会使用 Float 的 to_s
函数,得出没有尾随零的答案。
Float 将始终为您提供一个可以按您希望的方式进行解释的数值。在您的示例中,您 将 获得一个浮点值(给定一个字符串,该字符串是一个可解析的浮点数)。那么您要问的是如何显示该值 和 尾随零。为此,您需要将浮点值转回字符串。
最简单的方法是使用您的一位受访者提供的格式,即
string_var = "2.50"
float_value = Float(string_var) rescue nil # 2.5
with_trailing_zeroes = "%0.2f" % float_value # '2.50'
我需要从字符串中生成一个数字。为此,我使用众所周知的操作,看起来像这样:
Float(string_var) rescue nil
这很好用,但是我确实有一个小问题。如果一个字符串是"2.50"
,我得到的变量是2.5
。甚至可以创建末尾带有 'unnecessary' 0 数字的 Float 对象吗?我可以直接将 "2.50"
翻译成 2.50
吗?
简而言之,答案是否定的,因为任何 Float 在检查时都会使用 Float 的 to_s
函数,得出没有尾随零的答案。
Float 将始终为您提供一个可以按您希望的方式进行解释的数值。在您的示例中,您 将 获得一个浮点值(给定一个字符串,该字符串是一个可解析的浮点数)。那么您要问的是如何显示该值 和 尾随零。为此,您需要将浮点值转回字符串。
最简单的方法是使用您的一位受访者提供的格式,即
string_var = "2.50"
float_value = Float(string_var) rescue nil # 2.5
with_trailing_zeroes = "%0.2f" % float_value # '2.50'