ruby 舍入小数点后数值时的问题

e0bqpujr  于 12个月前  发布在  Ruby
关注(0)|答案(1)|浏览(148)

我正在构建一个测试计费应用程序,内置在Rails上,Jquery和Postgres DB(使用十进制列)
这是下面我存储值的方式,但我认为这不是它应该保存值的方式
产品1:57.5
费用:1.72499999999999
S-Tax:0.137999999999998
C-Tax:4.6
总计:63.97
在这里,我在提交表单时没有四舍五入Total以外的任何值;没有四舍五入,Total将是63.963。因此,只对Total而不对其他国家进行四舍五入会产生问题。对于某些国家,我需要使用精度2,而其他国家则需要使用精度3
而且,我想知道这是否是在DB中存储这些值的正确方法。
是否有任何规则,如做四舍五入的每列(收费,S-税,C-税,和总)?或任何规则的精度和规模?或者我们应该转换为整数?
如果我们取整数,我们应该取整并转换为整数吗?
当我们提交时,我们应该存储的正确数据是什么?如果有人能提出建议,那就太好了,因为这已经困扰了一段时间。

8fq7wneg

8fq7wneg1#

如果你使用的是rails,那么你可以把精度刻度放在柱子本身。
“收费、S-税、C-税和总计”,您可以更改迁移!
例如

t.decimal "s_tax", precision: 2, scale: 3, null: false

字符串

相关问题