Формат номера до 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

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

Ответ 3

Как насчет CAST(2229.999 AS DECIMAL(6,2)) для получения десятичной точки с двумя десятичными знаками

Ответ 4

Просто используйте формат (число, qtyDecimals) sample: format (1000, 2) результат 1000.00

Ответ 5

Вот как я использовал это в качестве примера:

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

Ответ 6

Показать как десятичное Выберите ifnull (формат (100,00, 1, 'en_US'), 0) 100,0

Показывать в процентах Выберите concat (ifnull (формат (100.00, 0, "en_US"), 0), "%") 100%