2017-05-07 16 views
-4

Python 2.7を使用しています。 120.00 - 30を引くと90.0になりますが、90.00が必要です。私は'90 .00' の文字列を与える浮動小数点数に0を追加するにはどうすればよいですか?

a = 120.00 - 30 
format(a, '.2f') 

を、私は、文字列を望んでいない:私は、フォーマット機能を使用してみました。私は90.00のような2つの精度ポイントの小数点が必要です。

+0

それからちょうどラウンド(一般的なケースでは、ありませんここで必要)を、内部で何が起こっているか理解するために、浮動小数点ロジックをお読みください。あなたが本当に達成したいことは本当に明確ではありません。古典的なフロートを使用して、あなたが何を記述するための概念はありません。 – sascha

+5

あなたはこれを望む理由を書くことができますか? '.00'は文字列表現にのみ関係するので、疑問は混乱します。数字「90」、「90.0」、「90.00」は同じものです。あなたのユースケースを知っていれば、答える方が簡単かもしれません。 – viraptor

+1

あなたが何を求めているか分かりません。浮動小数点が必要な場合は90.00と90.0の間に違いはありませんが、文字列が必要な場合は違いがあります。 –

答えて

1

Floatは、精度設定をサポートしていません。丸めと書式設定のみサポートしています。

>>> from decimal import * 
>>> getcontext().prec = 2 
>>> Decimal(1)/Decimal(7) 
Decimal('0.14') 

Pythonの小数:あなたは代わりに小数を使用する必要がありますhttps://docs.python.org/2/library/decimal.html

+1

これを小数点以下の桁落ちにも使用できますか?たとえば、私は120.00 - 30 - .50を引いて、答えが89.50 – johnnewbie

+1

になるようにする必要があります。もちろん、すべての算術演算をサポートしています。ここに例があります:http://stackoverflow.com/a/36541853/194932 – Raphael

関連する問題