如何去掉双引号

问题描述 投票:0回答:2

使用gsub删除double

a = "5.102"
a.gsub('\"', "") 

result = "5.102"

如何去掉返回值中的引号以获得以下内容?

预期结果 = 5.102

ruby ruby-on-rails-3 ruby-on-rails-3.2
2个回答
1
投票

也许你应该在“5.102”上使用 .to_f 方法

"5.102".to_f #=> 5.102

0
投票

正如其他人提到的,您需要区分数字的内部表示(作为字符串与数字)和数字作为字符串的外部表达(格式)。一般来说(除了舍入误差),当

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"
© www.soinside.com 2019 - 2024. All rights reserved.