1

我有一个字段,我将我的总计存储到一个 mysql 归档为总计,其类型设置为decimal(10,2)

当我的 php 表单添加并更新查询时112381348.40(即 1.12 亿)

但是当我在 phpMyadmin 上获取或查看它时,该值显示为99999999.99

从我的数据类型集中,它必须是10 digits2 decimals在哪里,因为它是最大更新82.

我理解错了还是我做错了什么。

我知道我可以将它增加到decimal(13,2)然后看到它。

但我想知道原因,为什么10,2没有发生?

4

3 回答 3

4

的规范decimal(m, n)有两个参数。第一个是“精度”,第二个是“比例”。更通俗地说,第一个是数字中的位数。第二个是小数点右边的位数。

因此,您的规格decimal(10, 2)可以存储如下数字:12,345,678.90 - 即最多 99,999,999.99。这是最大的数字。

如果要存储大于该数字的数字,请使用更大的数字精度。对于您的号码,您至少需要decimal(11, 2),尽管我建议您使用更大的精度,这样您以后就不会遇到这个问题。

于 2013-08-29T23:02:50.060 回答
1

在设置浮点或十进制字段时,第一个 int 值是总字符数。第二个是小数位数。所以:

//decimal(10,2)
12345678.90

//decimal(13,2)
12345678901.23

//decimal(7,3)
1234.567

看?

于 2013-08-29T23:03:00.417 回答
0

你有 11 位数字。第一个数字是总位数。尝试:

DECIMAL(11, 2)
于 2013-08-29T23:11:07.737 回答