Pythonで以下のコードがあります。
print ("%.3f" % value)
これを小数点以下第3位まで表示させて、かつそれ以下は切り捨てで表示させる書き方がございましたらお願いいたします。
以下のような質問にはグッドを送りましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
下記のような質問は推奨されていません。
- 間違っている
- 質問になっていない投稿
- スパムや攻撃的な表現を用いた投稿
適切な質問に修正を依頼しましょう。
回答3件
1
ベストアンサー
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総合スコア1145
0
python 小数 切り捨て
で google 検索すれば、いろいろ情報が得られると思います。
検索結果例:
...
n = 123.987654
print "round(n,3) = " + str(round(n,3)) # round(n,3) = 123.988
...
投稿2016/06/03 12:38
総合スコア22306
良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
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 編集
関連した質問
Q&A
解決済
整数 Nが与えられたときの2^Nを10で割った余りを計算しなさい
回答3
クリップ0
更新
2023/01/19
Q&A
解決済
不思議なPython import『module』
回答3
クリップ0
更新
2023/01/27
Q&A
解決済
IDLE(python) 上に書いたプログラムを xcode に移して動作させたい
回答2
クリップ0
更新
2023/02/02
Q&A
解決済
数値誤差についての初歩的な質問(python初心者)
回答3
クリップ0
更新
2023/01/29
Q&A
解決済
csvから取得したリストの型を変換したい(python)
回答2
クリップ0
更新
2023/01/29
Q&A
解決済
classの中の、整数と文字を一緒にアウトプットするメソッドの記述について
回答3
クリップ0
更新
2023/01/29
Q&A
解決済
ローカル環境からGoogleドライブにアップロードする処理を実行した際、認証エラーが発生して動作しない。
回答2
クリップ0
更新
2023/02/02
Q&A
解決済
python selenium 複数のフォームにランダムに入力
回答2
クリップ0
更新
2023/01/27
同じタグがついた質問を見る
Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。
良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
退会済みユーザー
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