mysql> SELECT 100/35600.00*35600.00;
+-----------------------+
| 100/35600.00*35600.00 |
+-----------------------+
| 99.999973 |
+-----------------------+
mysql> SELECT TRUNCATE(100/35600.00, 30)*35600.00;
+-------------------------------------+
| TRUNCATE(100/35600.00, 30)*35600.00 |
+-------------------------------------+
| 99.999972800000000000000000000000 |
+-------------------------------------+
Run Code Online (Sandbox Code Playgroud)
您应该在 mysql 中使用 TRUNCATE() 来达到您的目的。
SELECT TRUNCATE(100/35600.00*35600.00, 2);
Run Code Online (Sandbox Code Playgroud)
它将为您提供结果 99.99
它是 TRUNCATE 的一个问题,它不会四舍五入。所以我建议你改用 ROUND() 函数。
SELECT ROUND(100/35600.00*35600.00, 2);
Run Code Online (Sandbox Code Playgroud)
结果: 100.00