所以这是我的问题,我们试图将定价放入我们的数据库中,但由于某种原因,它将 10.00 转换为 10 或 10.50 转换为 10.5 它保持它只是砍掉尾随零......
我检查了 SQL 语句,它说价格=10.00 ....所以我真的很困惑为什么/在哪里它要剥离 .00
我已经检查了我们在插入或更新时输入数字的最后一步,它一直保留尾随零,直到更新或插入,然后当您检查表时......零被删除
你用的是decimal(N,2)
类型或类似的用于存储数据的类型?如果不是,那么这是正常行为。看http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html
请不要遵循另一个答案中的建议,并将其留给您的表示层。正确完成工作并存储准确的十进制值。这样就可以避免舍入问题。
ps 还有一个单独的问题,即如何用您使用的任何语言来管理该值。希望它使用包含适当格式的特殊类型。如果没有,那么您可能需要担心如何处理代码中的值(一种可能是乘以 100 并使用整数分,但随后您需要注意数学舍入是否正确 - 这很复杂,但它很复杂是有原因的;如果你只是把所有东西都塞进双打中,它可能会很简单,但对于某些值会有一些奇怪的错误......)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)