我想知道如何在不四舍五入的情况下输出一个小数点后 2 位的数字。
例如:
2229,999 -> 2229,99
我已经尝试过:
FORMAT(2229.999, 2)
CONVERT(2229.999, DECIMAL(4,2))
我想知道如何在不四舍五入的情况下输出一个小数点后 2 位的数字。
例如:
2229,999 -> 2229,99
我已经尝试过:
FORMAT(2229.999, 2)
CONVERT(2229.999, DECIMAL(4,2))
将数字格式化为 2 位小数时,您有两个选项TRUNCATE
和ROUND
. 您正在寻找TRUNCATE
功能。
例子:
不四舍五入:
TRUNCATE(0.166, 2)
-- will be evaluated to 0.16
TRUNCATE(0.164, 2)
-- will be evaluated to 0.16
文档:http ://www.w3resource.com/mysql/mathematical-functions/mysql-truncate-function.php
带四舍五入:
ROUND(0.166, 2)
-- will be evaluated to 0.17
ROUND(0.164, 2)
-- will be evaluated to 0.16
文档:http ://www.w3resource.com/mysql/mathematical-functions/mysql-round-function.php
您想使用该TRUNCATE
命令。
https://dev.mysql.com/doc/refman/8.0/en/mathematical-functions.html#function_truncate
如何
CAST(2229.999 AS DECIMAL(6,2))
获得小数点后 2 位的小数
只需使用 format(number, qtyDecimals) 示例: format(1000, 2) result 1000.00
这就是我使用的示例:
CAST(vAvgMaterialUnitCost.`avgUnitCost` AS DECIMAL(11,2)) * woMaterials.`qtyUsed` AS materialCost
显示为小数 选择 ifnull(format(100.00, 1, 'en_US'), 0) 100.0
显示为百分比选择 concat(ifnull(format(100.00, 0, 'en_US'), 0), '%') 100%