Ответ 1
Вы хотите использовать команду TRUNCATE
.
https://dev.mysql.com/doc/refman/8.0/en/mathematical-functions.html#function_truncate
Я хотел бы знать, как я могу вывести число с двумя десятичными разрядами, не округляя исходное число.
Например:
2229,999 -> 2229,99
Я уже попробовал:
FORMAT(2229.999, 2)
CONVERT(2229.999, DECIMAL(4,2))
Вы хотите использовать команду TRUNCATE
.
https://dev.mysql.com/doc/refman/8.0/en/mathematical-functions.html#function_truncate
При форматировании до двух знаков после запятой у вас есть две опции TRUNCATE
и ROUND
. Вы ищете функцию 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
Как насчет
CAST(2229.999 AS DECIMAL(6,2))
для получения десятичной точки с двумя десятичными знаками
Просто используйте формат (число, qtyDecimals) sample: format (1000, 2) результат 1000.00
Вот как я использовал это в качестве примера:
CAST(vAvgMaterialUnitCost.`avgUnitCost` AS DECIMAL(11,2)) * woMaterials.`qtyUsed` AS materialCost
Показать как десятичное Выберите ifnull (формат (100,00, 1, 'en_US'), 0) 100,0
Показывать в процентах Выберите concat (ifnull (формат (100.00, 0, "en_US"), 0), "%") 100%