使用gsub删除双精度
a = "5.102"
a.gsub('\"', "")
result = "5.102"
如何从返回值中删除引号以获得以下内容?
预期结果= 5.102
答案 0 :(得分:1)
也许您应该在“ 5.102”上使用 .to_f 方法
"5.102".to_f #=> 5.102
答案 1 :(得分:0)
就像其他人提到的那样,您需要区分数字的内部表示形式(作为字符串还是作为数字)和数字的外部表示形式(格式化)作为字符串。通常,(<option>
<audio>
<canvas>
<object>
<applet>
和5.1
是数字而不是字符串时,5.100
和to_f
将被相同地存储在内存中。 (从数学上讲,这也是正确的。)
您可能希望将值内部存储为数字,因为这样您就可以使用数字y功能,例如加,舍入等。将字符串(带双引号的内容)转换为浮点型点数(与字符串值相对的数字值)可以按照另一个答案中的说明使用2.5.1 :002 > "5.102".class
=> String
2.5.1 :003 > "5.102".to_f
=> 5.102
2.5.1 :004 > "5.102".to_f.class
=> Float
:
2.5.1 :005 > "%.3f" % 5.102
=> "5.102"
2.5.1 :006 > "%.3f" % 5.1
=> "5.100"
对于零填充输出,我们在Ruby中使用sprintf样式格式(与C语言和许多其他语言一样):
Person