Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 删除双引号_Ruby_Ruby On Rails 3_Ruby On Rails 3.2 - Fatal编程技术网

Ruby 删除双引号

Ruby 删除双引号,ruby,ruby-on-rails-3,ruby-on-rails-3.2,Ruby,Ruby On Rails 3,Ruby On Rails 3.2,使用gsub删除双线程 如何从返回值中去掉引号以获得以下内容 预期结果=5.102也许你应该在“5.102”上使用.to\f方法 正如其他人所提到的,您需要区分数字的内部表示(作为字符串与作为数字)和数字作为字符串的外部表达式(格式)。通常(舍入错误除外),5.1和5.100是数字而不是字符串时,将以相同的方式存储在内存中。(从数学上讲,这也是正确的。) 您可能希望在内部将值存储为数字,因为这样您就可以访问数字y功能,如添加、舍入等。将字符串(您看到的双引号)转换为浮点数(与字符串值相对的数值)

使用gsub删除双线程

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


预期结果=5.102

也许你应该在“5.102”上使用.to\f方法


正如其他人所提到的,您需要区分数字的内部表示(作为字符串与作为数字)和数字作为字符串的外部表达式(格式)。通常(舍入错误除外),
5.1
5.100
是数字而不是字符串时,将以相同的方式存储在内存中。(从数学上讲,这也是正确的。)

您可能希望在内部将值存储为数字,因为这样您就可以访问数字y功能,如添加、舍入等。将字符串(您看到的双引号)转换为浮点数(与字符串值相对的数值)可以按照另一个答案中所述进行,通过使用
来\u 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和许多其他语言中):


“5.102”
是一个打印为
5.102
的字符串,没有引号-它实际上没有引号。相反,您可能打算解析为double。可能的重复您是在谈论控制台中显示的内容,还是实际值?我正在控制台上尝试。您的问题不清楚。字符串中没有引号,因此没有要删除的内容。你到底想做什么?你能给出一个你想要做什么的确切说明吗,包括转角情况、特殊情况和那些规则的例外情况?你能给出更多所需输入和输出的例子吗?你能不能提供一些测试案例,让回答者检查他们的答案是否正确?“5.102”。如果可以的话。但在“5.100”的情况下,它会去掉最后两个零。我总是在小数点后三个点后得到它们。您是在存储变量还是显示它?如果要将其存储在变量中,请以字符串格式存储,并在显示use puts(“%.3f”%[a])时使用,否则如果要对其进行操作,请在操作前使用use.to\f。结果以字符串格式给出。我已经试过了。
"5.102".to_f #=> 5.102
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"