在mysql中存储金额

我想将 3.50 存储到 mysql 表中.我有一个存储它的浮点数,但它存储为 3.5,而不是 3.50.我怎样才能让它有尾随零?

解决方案

不要将货币值存储为浮点数,使用 DECIMAL 或 NUMERIC 类型:

MySQL 数字类型文档

编辑 &澄清:

浮点值容易受到舍入误差的影响,因为它们的精度有限,因此除非您不在乎只能得到 9.99 而不是 10.00,否则您应该使用 DECIMAL/NUMERIC,因为它们是不存在此类问题的定点数.

I want to store 3.50 into a mysql table. I have a float that I store it in, but it stores as 3.5, not 3.50. How can I get it to have the trailing zero?

解决方案

Do not store money values as float, use the DECIMAL or NUMERIC type:

Documentation for MySQL Numeric Types

EDIT & clarification:

Float values are vulnerable to rounding errors are they have limited precision so unless you do not care that you only get 9.99 instead of 10.00 you should use DECIMAL/NUMERIC as they are fixed point numbers which do not have such problems.

相关文章