Je voudrais savoir comment puis-je sortir un nombre avec 2 décimales, sans arrondir le nombre original.
Par exemple:
2229,999 -> 2229,99
J'ai déjà essayé:
FORMAT(2229.999, 2)
CONVERT(2229.999, DECIMAL(4,2))
Vous voulez utiliser la commande TRUNCATE
.
https://dev.mysql.com/doc/refman/8.0/en/mathematical-functions.html#function_truncate
Lorsque vous formatez un nombre à 2 décimales, vous avez deux options TRUNCATE
et ROUND
. Vous recherchez la fonction TRUNCATE
.
Exemples:
Sans arrondi:
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
avec arrondi:
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
Que diriez-vous de CAST(2229.999 AS DECIMAL(6,2))
pour obtenir une décimale avec 2 décimales
Il suffit d'utiliser le format (nombre, qtyDecimals) exemple: format (1000, 2) result 1000.00
Afficher sous forme décimale Sélectionnez ifnull (format (100.00, 1, 'en_US'), 0) 100.0
Montrer en pourcentage Sélectionnez concat (ifnull (format (100,00, 0, 'en_US'), 0), '%') 100%
Voici comment j'ai utilisé c'est à titre d'exemple:
CAST(vAvgMaterialUnitCost.`avgUnitCost` AS DECIMAL(11,2)) * woMaterials.`qtyUsed` AS materialCost