舍入小数值时的问题

问题描述 投票:0回答:1

我正在构建一个测试计费应用程序,内置 rub on Rails、Jquery 和 Postgres DB(使用十进制列)

这是我存储值的以下方式,但我认为这不是它应该保存值的方式

产品1:57.5

费用:1.7249999999999999

S-税:0.13799999999999998

C-税:4.6

总计:63.97

这里,我在提交表单时不会对除 Total 之外的任何值进行四舍五入;如果不四舍五入,总计将为 63.963。 因此,仅对 Total 进行舍入而不对其他人进行舍入会产生问题。对于某些国家/地区,我需要使用精度 2,而其他国家/地区则需要使用 3

此外,我想知道这是否是将这些值存储在数据库中的正确方法。

是否有任何规则,例如对每列(费用、S-税、C-税和总计)进行舍入?或者精度和比例有什么规则吗?或者我们应该将其转换为整数?

如果我们选择整数,我们应该将其舍入并转换为整数吗?

提交时我们应该存储的正确数据是什么?如果有人能提出建议那就太好了,因为这已经困扰了一段时间了。

ruby-on-rails ruby ruby-on-rails-3 floating-point
1个回答
0
投票

如果您使用导轨,那么您可以将精密刻度放在立柱本身中。

“费用、S-Tax、C-Tax 和总计”,您可以更改迁移!

例如

t.decimal "s_tax", precision: 2, scale: 3, null: false
© www.soinside.com 2019 - 2024. All rights reserved.