格式数为2位小数

时间:2012-06-25 13:56:22

标签: mysql formatting decimal

我想知道如何输出一个带有2位小数的数字,而不会将原始数字四舍五入。

例如:

2229,999 -> 2229,99

我已经尝试过:

FORMAT(2229.999, 2)
CONVERT(2229.999, DECIMAL(4,2))

由于

6 个答案:

答案 0 :(得分:337)

将数字格式设置为2位小数时,您有两个选项TRUNCATEROUND。您正在寻找TRUNCATE功能。

示例:

没有四舍五入:

TRUNCATE(0.166, 2)
-- will be evaluated to 0.16

TRUNCATE(0.164, 2)
-- will be evaluated to 0.16

docs: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

docs:http://www.w3resource.com/mysql/mathematical-functions/mysql-round-function.php

答案 1 :(得分:78)

答案 2 :(得分:12)

怎么样 CAST(2229.999 AS DECIMAL(6,2)) 得到带小数点后2位的小数

答案 3 :(得分:5)

只需使用格式(number,qtyDecimals) 样本:格式(1000,2) 结果1000.00

答案 4 :(得分:0)

这就是我用它的例子:

CAST(vAvgMaterialUnitCost.`avgUnitCost` AS DECIMAL(11,2)) * woMaterials.`qtyUsed` AS materialCost

答案 5 :(得分:0)

显示为小数 选择ifnull(format(100.00,1,'en_US'),0) 100.0

显示为百分比 选择concat(ifnull(format(100.00,0,'en_US'),0),'%') 100%