Pythonで以下のコードがあります。
print ("%.3f" % value)
これを小数点以下第3位まで表示させて、かつそれ以下は切り捨てで表示させる書き方がございましたらお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
ベストアンサー
decimal を使ってください。
python
1import decimal 2 3v = 1.888888888 4print('{:.3f}'.format(v)) # -> 1.889 5print('{}'.format(round(v, 3))) # -> 1.889 6 7with decimal.localcontext() as ctx: 8 ctx.rounding = decimal.ROUND_FLOOR # -∞方向に丸める ≒ 切り捨て 9 v = round(decimal.Decimal(v), 3) # 3桁, FLOORモードで丸め 10print('{}'.format(v)) # -> 1.888
--- 追記
改めた点はlocalcontext()/round()を使わず、quantize()メソッドにしたこと。それと負の場合に切り捨てにならないので、ROUND_DOWNに変更しています。動作確認はPython3.5.1とPython2.7.11。
python
1from decimal import (Decimal, ROUND_DOWN) 2 3def round_down3(value): 4 value = Decimal(value).quantize(Decimal('0.001'), rounding=ROUND_DOWN) 5 return str(value) 6 7print(round_down3(188888.8888888)) 8print(round_down3(1.8888899999)) 9print(round_down3(0.9999999999)) 10print(round_down3(-1.9999999999)) 11 12# 出力 13# 188888.888 14# 1.888 15# 0.999 16# -1.999
投稿2016/06/03 06:18
編集2016/06/06 08:53総合スコア1151
0
python 小数 切り捨て
で google 検索すれば、いろいろ情報が得られると思います。
検索結果例:
...
n = 123.987654
print "round(n,3) = " + str(round(n,3)) # round(n,3) = 123.988
...
投稿2016/06/03 12:38
総合スコア22324
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
sumvalue = float(50)
consumedvalue = sumvalue / 60
return (round(consumedvalue, 3))
sumvalueをfloat型にして結果の方ではroundを使ったらどうでしょうか。
投稿2016/06/03 05:06
総合スコア19
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/06/06 09:12 編集
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/06/03 23:02 編集
退会済みユーザー
2016/06/03 13:57
2016/06/03 14:41
退会済みユーザー
2016/06/03 15:21
退会済みユーザー
2016/06/03 15:43 編集
2016/06/03 15:38
退会済みユーザー
2016/06/03 15:48
2016/06/03 16:13
2016/06/03 16:24
退会済みユーザー
2016/06/03 23:14
退会済みユーザー
2016/06/06 07:59
2016/06/06 08:09
退会済みユーザー
2016/06/06 08:12
退会済みユーザー
2016/06/06 08:13
2016/06/06 08:40
退会済みユーザー
2016/06/06 09:12