web-dev-qa-db-ja.com

小数点以下2桁までの形式番号

元の数値を四捨五入せずに、小数点以下2桁の数値を出力する方法を知りたいです。

例えば:

2229,999 -> 2229,99

私はすでに試しました:

FORMAT(2229.999, 2)
CONVERT(2229.999, DECIMAL(4,2))

ありがとう

137
Tenza

あなたはTRUNCATEコマンドを使いたいのです。

https://dev.mysql.com/doc/refman/8.0/ja/mathematical-functions.html#function_truncate

78
jasonlfunk

数値を小数点以下2桁にフォーマットする場合、2つのオプションTRUNCATEROUNDがあります。あなたは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

337
jmarceli

小数点以下2桁の10進数を取得するCAST(2229.999 AS DECIMAL(6,2))についてはどうですか。

12
Hituptony

単にformat(number、qty Decimals)を使用してください。sample:format(1000、2)result 1000.00

5

10進数として表示ifnull(format(100.00、1、 'en_US')、0)100.0を選択

パーセントとして表示concat(ifnull(format(100.00、0、 'en_US')、0)、 '%')100%

0
Greg Bologna

これは私がこれを例として使った方法です:

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