2016-05-11 18 views
2

浮動小数点値を小数点以下2桁に変換する方法を見つける必要があります。浮動小数点数を小数点以下2桁に変換する

私はすでに実装されている2つのFloat値を返すAPIコードを持っています。例えば

は、次のように値を返して考えてみましょう。293.019999504

しかし、それは0.00

として0を処理しなければならない代わりに、293.019999504

の293.01としてだけでなく、私はそれをする必要があるI API実装のバックエンドまたはDBテーブルを変更できません。

私は、API呼び出しを使用して値を取得しているviews.pyでこれを実装する必要があります。

これをpyononicの方法で実現する方法が必要です。

+0

これまでに書いたコードは何ですか? – piyushj

+0

1)これらの値は浮動小数点数または文字列として受け取っていますか? 2)なぜ293.02ではなく293.01が欲しいのですか? –

+0

293.02とすると、受け取る値は浮動小数点数です – Sparky

答えて

3

次のようにあなたが行う必要があります。

a = 293.019999504 
print("{0:.2f}".format(a)) 
>> 293.02 
0

IIUCあなたは、ラウンド関数を使用したい:

round(293.019999504,2) 
Out[1]: 
293.02 

注それはあなたの番号を丸めるということ(そう293.019は293.02となってしまいます)、あなたが本当に切り捨てしたい場合は、SOMETが必要

from math import floor 
floor(100*293.019999504)/100 
0

:あなたは、あなたが床を使用できることをしたくない場合はここで説明するようになどの興

int(293.019999504 * 100)/100.0 

しかし、会計上の問題に対処するための正しい方法は、固定小数点演算である:https://docs.python.org/2/library/decimal.html

関連する問題