Ich möchte wissen, wie ich eine Zahl mit 2 Dezimalstellen ausgeben kann, ohne die ursprüngliche Zahl zu runden.
Beispielsweise:
2229,999 -> 2229,99
Ich habe es schon versucht:
FORMAT(2229.999, 2)
CONVERT(2229.999, DECIMAL(4,2))
mysql
formatting
decimal
Tenza
quelle
quelle
DECIMAL(6,2))
. 6- Präzision (Anzahl der Gesamtziffern) und 2 ist die Anzahl der Nachkommastellen?Antworten:
Sie möchten den
TRUNCATE
Befehl verwenden.https://dev.mysql.com/doc/refman/8.0/en/mathematical-functions.html#function_truncate
quelle
Wenn Sie die Zahl mit 2 Dezimalstellen formatieren, haben Sie zwei Möglichkeiten
TRUNCATE
undROUND
. Sie suchenTRUNCATE
Funktion.Beispiele:
Ohne Rundung:
Dokumente: http://www.w3resource.com/mysql/mathematical-functions/mysql-truncate-function.php
Mit Rundung:
Dokumente: http://www.w3resource.com/mysql/mathematical-functions/mysql-round-function.php
quelle
truncate
um Zahlen zu formatieren, wenn Sie abgeschnittene Zahlen möchten. Sie machte in der Frage deutlich, dass sie dies tun wollte. Es gibt viele Möglichkeiten zum Runden (Boden, Decke, von Null weg, gegen Null, halb oben, halb unten, halb gerade). Sie sind in verschiedenen Kontexten angemessen.ROUND
Funktion sucht .Wie wäre es
CAST(2229.999 AS DECIMAL(6,2))
mit einer Dezimalstelle mit 2 Dezimalstellenquelle
convert(2229.999 as decimal(4,2))
.convert(2229.999, decimal(4,2))
.Verwenden Sie einfach das Beispiel format (number, qtyDecimals): format (1000, 2) result 1000.00
quelle
So habe ich das als Beispiel verwendet:
quelle
Als Dezimalzahl anzeigen Wählen Sie ifnull (Format (100.00, 1, 'en_US'), 0) 100.0
Als Prozentsatz anzeigen Wählen Sie concat (ifnull (Format (100.00, 0, 'en_US'), 0), '%') 100%
quelle