- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
您好,我刚刚遇到一个问题,即 ruby 的 to_f
函数给我的结果不一致。
ruby-1.9.2-head :026 > 8.45.to_f * 100
=> 844.9999999999999
ruby-1.9.2-head :027 > 4.45.to_f * 100
=> 445.0
ruby-1.9.2-head :028 > 4.35.to_f * 100
=> 434.99999999999994
我的解决方法是简单地将结果四舍五入
ruby-1.9.2-head :029 > (4.35.to_f * 100).round
=> 435
经过更多尝试后,我意识到问题可能出在乘法运算符 * 100
最佳答案
欢迎来到浮点漂移。这是一个很好理解的问题,您应该读一读,这样您至少可以自己理解它。例如,查看以下文章:
关于ruby to_f 错误或乘法运算符错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7879606/
我觉得如果 "".to_i 和 "".to_f 为 nil 或引发异常会很自然,而且确实如此定义 nil.to_i 或 nil.to_f 对我来说意义不大。 nil.to_i #=> 0, "".to
您好,我刚刚遇到一个问题,即 ruby 的 to_f 函数给我的结果不一致。 ruby-1.9.2-head :026 > 8.45.to_f * 100 => 844.999999999999
"9.99".to_f => 999.0 这是预期的行为吗?如何将“9.99”转换为 9.99 最佳答案 您在哪个语言环境中运行?我的猜测是它正在处理“。”作为千位分隔符(在本例中恰好位于错误的位置)
我正在使用 Rails 3.2.1 和 Jbuilder 构建一个简单的 JSON API在 Ruby 1.8.7 上(1.9.x 在这里可能对我有帮助,但我的托管服务提供商只有 1.8.7)。 由于
BigDecimal 类被破坏了吗?似乎永远不会发生以下情况: 注意 a.to_f != a.to_s.to_f a.class => BigDecimal a.to_f => 18658.10729
我试图找出数字字符串与任意字符串之间的区别: '0'.to_f #=> 0.0 'hello'.to_f #=> 0.0 以上两者都返回一个Float。如果用户输入实际值 '0' 或用户输入值 'he
我看到人们使用以下代码: gets.chomp.to_i 或 gets.chomp.to_f 我不明白为什么,当这些行的结果总是与 gets 之后没有 chomp 时的结果相同。 gets.chomp
我认为 #methods 方法会列出一个类中的所有方法。为什么当我键入 String.methods.sort 时 to_i 和 to_f 没有出现? to_i 应该将字符串转换为整数,而 to_f
这对我来说很奇怪: irb(main):012:0> "100.7".to_f.modulo(1) => 0.700000000000003 为什么最后是 3? irb(main):019:0> "1
我是一名优秀的程序员,十分优秀!