使用gsub删除double
a = "5.102"
a.gsub('\"', "")
result = "5.102"
如何去掉返回值中的引号以获得以下内容?
预期结果 = 5.102
也许你应该在“5.102”上使用 .to_f 方法
"5.102".to_f #=> 5.102
正如其他人提到的,您需要区分数字的内部表示(作为字符串与数字)和数字作为字符串的外部表达(格式)。一般来说(除了舍入误差),当
5.1
和 5.100
是数字而不是字符串时,它们将相同地存储在内存中。 (从数学上来说这也是正确的。)
您可能希望在内部将您的值存储为数字,因为这样您就可以使用数字 y 功能,例如添加、舍入等。将字符串(您在双引号中看到的内容)转换为浮点数(数字值而不是字符串值)可以按照其他答案中的描述,通过使用
to_f
: 来完成
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
对于零填充输出,我们在 Ruby 中使用 sprintf 样式格式(与 C 和许多其他语言一样):
2.5.1 :005 > "%.3f" % 5.102
=> "5.102"
2.5.1 :006 > "%.3f" % 5.1
=> "5.100"