web-dev-qa-db-fra.com

Formater le nombre à 2 décimales

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))
143
Tenza
81
jasonlfunk

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

342
jmarceli

Que diriez-vous de CAST(2229.999 AS DECIMAL(6,2)) pour obtenir une décimale avec 2 décimales

13
Hituptony

Il suffit d'utiliser le format (nombre, qtyDecimals) exemple: format (1000, 2) result 1000.00

6
Alessandro Garcia

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%

0
Greg Bologna

Voici comment j'ai utilisé c'est à titre d'exemple:

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