0

我有一个DECIMAL(18,3)字段,我使用触发器将其乘以 12。使用任何计算器都会返回例如 644.8 * 12 = 7737.6。但 MySQL 返回 7738。什么给出了?扳机:

SET NEW.Perannum = NEW.Wage * 12;

4

2 回答 2

4

尝试乘以 12.00 以确保十进制值 * 十进制值...

于 2012-06-07T16:06:28.013 回答
0

你必须了解它的数学原理。“四舍五入”总是意味着到下一位最接近的小数点——向上或向下。例如,如果您的结果需要小数点为 0 的精度,而您的计算结果为 0.5 或更小,则它会向下舍入。如果计算值大于 0.5,则会四舍五入。您正在寻找的是“截断”,这意味着“将多余的剩余部分扔掉”。

于 2016-08-07T17:37:33.580 回答