Я хотел бы знать, как я могу вывести число с двумя десятичными разрядами, не округляя исходное число.
Например:
2229,999 -> 2229,99
Я уже попробовал:
FORMAT(2229.999, 2)
CONVERT(2229.999, DECIMAL(4,2))
mysql
formatting
decimal
TENZA
источник
источник
DECIMAL(6,2))
. 6- Точность (общее количество цифр) и 2 - количество цифр после десятичной дроби?Ответы:
Вы хотите использовать
TRUNCATE
команду.https://dev.mysql.com/doc/refman/8.0/en/mathematical-functions.html#function_truncate
источник
При форматировании числа до 2 десятичных знаков у вас есть два варианта
TRUNCATE
иROUND
. Вы ищетеTRUNCATE
функцию.Примеры:
Без округления:
документы: http://www.w3resource.com/mysql/matumatic-functions/mysql-truncate-function.php
С округлением:
документы: http://www.w3resource.com/mysql/maturgical-functions/mysql-round-function.php
источник
truncate
для форматирования чисел, когда вы хотите усеченные числа. она ясно дала понять, что именно этим она и хотела заниматься. Есть много способов округления (пол, потолок, от нуля, к нулю, половина вверх, половина вниз, половина даже). они уместны в разных контекстах.ROUND
функцию.Как насчет
CAST(2229.999 AS DECIMAL(6,2))
получить десятичную с двумя десятичными разрядамиисточник
convert(2229.999 as decimal(4,2))
.convert(2229.999, decimal(4,2))
.Просто используйте формат (число, qtyDecimals) sample: format (1000, 2) результат 1000.00
источник
Вот как я использовал это в качестве примера:
источник
Показать как десятичное число Выберите ifnull (формат (100.00, 1, 'en_US'), 0) 100.0
Показать в процентах Выберите concat (ifnull (формат (100.00, 0, 'en_US'), 0), '%') 100%
источник