尾随零不进入数据库

时间:2011-08-11 15:33:45

标签: mysql database

所以这是我的问题,我们正在尝试将定价纳入我们的数据库,但由于某种原因它将10.00转换为10或10.50到10.5它保持它只是剔除尾随的零....

我检查了SQL语句,它说价格= 10.00 ....所以我真的很困惑为什么/它在哪里剥离.00

我一直检查我们在INSERT或UPDATE的最后一步输入数字的位置,并且它一直保持尾随零,直到UPDATE或INSERT,然后当你检查表时......零被删除

3 个答案:

答案 0 :(得分:8)

您使用decimal(N,2)类型或类似类型来存储数据吗?如果没有,那么这是正常的行为。见http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html

请不要按照其他答案中的建议将其留在您的演示层。正确完成工作并存储确切的十进制值。这样你就可以避免四舍五入问题了。

ps还有一个单独的问题,即如何以您使用的任何语言管理该值。希望它使用包含适当格式的特殊类型。如果没有,那么你可能想要担心你如何处理你的代码中的值(一种可能性是100乘以100并使用整数的分数,但是你需要注意数学轮正确 - 这很复杂,但由于某种原因它很复杂;如果你把所有东西都填入双打中它可能很简单,但对某些值有一些奇怪的错误......)

答案 1 :(得分:0)

10与10.00相同,与10.0

相同

如果你想显示这些尾随数字,或者更常见的是2位小数,那么你需要编写代码来做到这一点。既然你没说过你正在使用的语言,那么我就无法真正帮助你。

答案 2 :(得分:0)

它在数据库中的外观并不重要。重要的是您如何在应用中显示数据。 10.00与10的值相同,因此在数据表中它将保存为10.

您必须在输出前格式化数字。