元の数値を四捨五入せずに、小数点以下2桁の数値を出力する方法を知りたいです。
例えば:
2229,999 -> 2229,99
私はすでに試しました:
FORMAT(2229.999, 2)
CONVERT(2229.999, DECIMAL(4,2))
ありがとう
あなたはTRUNCATE
コマンドを使いたいのです。
https://dev.mysql.com/doc/refman/8.0/ja/mathematical-functions.html#function_truncate
数値を小数点以下2桁にフォーマットする場合、2つのオプションTRUNCATE
とROUND
があります。あなたはTRUNCATE
関数を探しています。
例:
丸めなし:
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
四捨五入付き:
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
小数点以下2桁の10進数を取得するCAST(2229.999 AS DECIMAL(6,2))
についてはどうですか。
単にformat(number、qty Decimals)を使用してください。sample:format(1000、2)result 1000.00
10進数として表示ifnull(format(100.00、1、 'en_US')、0)100.0を選択
パーセントとして表示concat(ifnull(format(100.00、0、 'en_US')、0)、 '%')100%
これは私がこれを例として使った方法です:
CAST(vAvgMaterialUnitCost.`avgUnitCost` AS DECIMAL(11,2)) * woMaterials.`qtyUsed` AS materialCost