ruby-on-rails - rails 将字符串转换为数字

标签 ruby-on-rails ruby

我想知道 Rails 中有什么方便的函数可以将带有负号的字符串转换为数字。例如-1005.32

当我使用 .to_f 方法时,数字变为 1005,忽略负号和小数部分。

最佳答案

.to_f 是正确的方法。

例子:

irb(main):001:0> "-10".to_f
=> -10.0
irb(main):002:0> "-10.33".to_f
=> -10.33

也许您的字符串不包含常规的“-”(破折号)?或者破折号和第一个数字之间有空格吗?

添加:

如果您知道您的输入字符串是一个 float 的字符串版本,例如“10.2”,那么 .to_f 是进行转换的最好/最简单的方法。

如果您不确定字符串的内容,那么在字符串中没有任何数字的情况下使用 .to_f 将给出 0。它也会根据您的输入字符串给出各种其他值。例如

irb(main):001:0> "".to_f 
=> 0.0
irb(main):002:0> "hi!".to_f
=> 0.0
irb(main):003:0> "4 you!".to_f
=> 4.0

上面的 .to_f 行为可能正是您想要的,这取决于您的问题案例。

根据您想在各种错误情况下执行的操作,您可以使用 Kernel::Float 作为 Mark Rushakoff 的建议,因为当它对转换输入字符串不满意时它会引发错误.

关于ruby-on-rails - rails 将字符串转换为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2778093/

相关文章:

ruby-on-rails - 无法使用 cram_md5 身份验证通过 SSL 上的 SMTP 发送电子邮件

javascript - 帮助将数据从一个 HTML 表单传输/存储到另一个表单

ruby - 如何打印 unicode 字符 U-1F4A9 'pile of poo' 表情符号

ruby-on-rails - Rspec:让不工作

ruby-on-rails - 未初始化的常量 CustomersController - Rails

Ruby - 从变量中获取位范围

ruby-on-rails - Rails 4 如何覆盖设计响应路径出错

ruby-on-rails - 查询整数成员的 jsonb 数组

ruby-on-rails - 找不到回形针文件错误

ruby-on-rails - Ruby on Rails Rakefile 错误