【发布时间】:2016-11-29 20:04:56
【问题描述】:
我正在构建一个发票系统,但遇到decimal 字段的问题。
目前我正在为 totals、税额 和 总计 使用 float 字段,但我认为我应该使用 @987654323改为@字段
有人可以帮我解释一下我是否应该在我的数据库中使用float of decimal 字段?
存储的数字可以是从0.01 到超过10000.00 的任何数字
【问题讨论】:
我正在构建一个发票系统,但遇到decimal 字段的问题。
目前我正在为 totals、税额 和 总计 使用 float 字段,但我认为我应该使用 @987654323改为@字段
有人可以帮我解释一下我是否应该在我的数据库中使用float of decimal 字段?
存储的数字可以是从0.01 到超过10000.00 的任何数字
【问题讨论】:
https://www.tutorialspoint.com/mysql/mysql-data-types.htm
请参阅参考指南。我推荐浮点数,因为小数点默认为 2。这应该适合您的需要。您还可以通过使用美元字段和美分字段来绕过数据库喜欢向您抛出的任何浮点错误。
希望对您有所帮助。
【讨论】:
FLOAT(m,2) 进行 两个 舍入,DECIMAL 避免这种情况。 (2)FLOAT只有大约7个有效数字; OP似乎需要那么多。对货币数据使用 DECIMAL,而不是 FLOAT。永远不要在FLOAT 上使用(m,n),它没用。如果需要 m 或 n,请切换到 DECIMAL。