【问题标题】:BigDecimal attribute changes every page reloadingBigDecimal 属性会在每次页面重新加载时更改
【发布时间】:2015-01-19 16:46:20
【问题描述】:

我注意到我的数据库行中的 BigDecimal 属性在每次重新加载页面时都会改变。

sum: #<BigDecimal:4add7d0,'0.9E0',9(36)>
ctrl+r
sum: #<BigDecimal:639f200,'0.9E0',9(36)>
ctrl+r
sum: #<BigDecimal:594ceb0,'0.9E0',9(36)>

还好吗?

【问题讨论】:

    标签: ruby-on-rails bigdecimal


    【解决方案1】:

    在我看来,对象 ID 正在改变,但 值 没有改变;您列出的所有结果都使用格式#&lt;BigDecimal:xxxxxxx,'0.9E0',9(36)&gt;

    每次重新加载页面时,Rails 都会创建一个新 BigDecimal 对象实例,但其中包含相同的 数据。这是一个类似的例子,使用irb 控制台:

    irb(main):004:0> require 'bigdecimal'
    => true
    irb(main):005:0> BigDecimal(9)
    => #<BigDecimal:2aadb50,'0.9E1',9(36)>
    irb(main):006:0> BigDecimal(9)
    => #<BigDecimal:2764ab8,'0.9E1',9(36)>
    irb(main):007:0> BigDecimal(9)
    => #<BigDecimal:25c3638,'0.9E1',9(36)>
    irb(main):008:0>
    

    【讨论】:

      猜你喜欢
      • 2019-05-16
      • 2018-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-07
      • 2015-03-29
      • 1970-01-01
      相关资源
      最近更新 更多