Ruby 与'一起浮动;不必要的';数字

Ruby 与'一起浮动;不必要的';数字,ruby,floating-point,number-formatting,Ruby,Floating Point,Number Formatting,我需要从字符串中提取一个数字。为了做到这一点,我使用了众所周知的策略,如下所示: Float(string_var) rescue nil 这很好,但我确实有一个小问题。如果字符串是“2.50”,那么我得到的变量是2.5。甚至可以创建末尾有“不必要”0位的浮点对象吗?我能把“2.50”翻译成2.50吗?简而言之,答案是否定的,因为任何浮点数在检查时都会使用浮点数的函数,得出不带尾随零的答案 不过,Float将始终为您提供一个数值,该数值可以按照您希望的任何方式进行解释。在您的示例中,您将获得一

我需要从字符串中提取一个数字。为了做到这一点,我使用了众所周知的策略,如下所示:

Float(string_var) rescue nil

这很好,但我确实有一个小问题。如果字符串是
“2.50”
,那么我得到的变量是
2.5
。甚至可以创建末尾有“不必要”0位的浮点对象吗?我能把
“2.50”
翻译成
2.50
吗?

简而言之,答案是否定的,因为任何浮点数在检查时都会使用浮点数的
函数,得出不带尾随零的答案

不过,Float将始终为您提供一个数值,该数值可以按照您希望的任何方式进行解释。在您的示例中,您将获得一个浮点值(给定一个可解析的浮点字符串)。然后,您要问的是如何用尾随的零显示该值。为此,您将把浮点值转换回字符串

要做到这一点,最简单的方法是使用其中一位受访者给出的格式,即

string_var = "2.50"
float_value = Float(string_var) rescue nil # 2.5
with_trailing_zeroes = "%0.2f" % float_value # '2.50'

简言之,如果有问题,答案是否定的,因为任何浮点在检查时都会使用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(“2,50”)rescue nil给出nil而不是2,5i编辑了这个问题,就我所知,它现在是合法的,您似乎在寻找
printf(“%.2f”,theFloat)
。最后的0就在那里(
2.5==2.50==2.500000000
),我想如果你打印出普通浮点值,它就不会显示出来。从数学角度看,2.5和2.50是相同的数字。如果你关心尾随的零,也许你根本不需要浮点数。你为什么要从一开始就转换为浮动?@Leo“displayingpurposes”指的是属于你视图的格式。提供多种帮助方法。Float(“2,50”)rescue nil给出nil not 2,5i编辑了这个问题,现在它是合法的。据我所知,您似乎正在寻找
printf(“%.2f”,theFloat)
。最后的0就在那里(
2.5==2.50==2.500000000
),我想如果你打印出普通浮点值,它就不会显示出来。从数学角度看,2.5和2.50是相同的数字。如果你关心尾随的零,也许你根本不需要浮点数。你为什么要从一开始就转换为浮动?@Leo“displayingpurposes”指的是属于你视图的格式。提供了几种辅助方法。