Chciałbym wiedzieć, jak wyświetlić liczbę z 2 miejscami po przecinku, bez zaokrąglania pierwotnej liczby.
Na przykład:
2229,999 -> 2229,99
Już próbowałem:
FORMAT(2229.999, 2)
CONVERT(2229.999, DECIMAL(4,2))
mysql
formatting
decimal
Tenza
źródło
źródło
DECIMAL(6,2))
. 6- Dokładność (całkowita liczba cyfr), a 2 to liczba cyfr po przecinku?Odpowiedzi:
Chcesz użyć
TRUNCATE
polecenia.https://dev.mysql.com/doc/refman/8.0/en/mathematical-functions.html#function_truncate
źródło
Podczas formatowania liczby do 2 miejsc po przecinku masz dwie opcje
TRUNCATE
iROUND
. SzukaszTRUNCATE
funkcji.Przykłady:
Bez zaokrągleń:
dokumenty: http://www.w3resource.com/mysql/mathematical-functions/mysql-truncate-function.php
Z zaokrągleniem:
dokumenty: http://www.w3resource.com/mysql/mathematical-functions/mysql-round-function.php
źródło
truncate
do formatowania liczb, jeśli chcesz liczb obciętych. w pytaniu dała jasno do zrozumienia, że właśnie tego chce. istnieje wiele sposobów zaokrąglania (podłoga, sufit, od zera, do zera, do połowy w górę, do połowy w dół, w połowie równe). są odpowiednie w różnych kontekstach.ROUND
funkcji.Co powiesz
CAST(2229.999 AS DECIMAL(6,2))
na uzyskanie ułamka dziesiętnego z dwoma miejscami po przecinkuźródło
convert(2229.999 as decimal(4,2))
.convert(2229.999, decimal(4,2))
.Po prostu użyj próbki format (liczba, liczba dziesiętna): format (1000, 2) wynik 1000,00
źródło
Oto jak użyłem tego jako przykładu:
źródło
Pokaż jako dziesiętne Wybierz ifnull (format (100,00, 1, 'en_US'), 0) 100.0
Pokaż jako procent Wybierz konkat (ifnull (format (100,00, 0, 'en_US'), 0), '%') 100%
źródło