2017-07-20 10 views
-1

私はこの関数を持っていて、値の小数点以下2桁を許可したいと思います。Djangoの小数点以下の四捨五入

これはモデルフィールドではありませんが、モデルフィールドから計算されています。それを行う正しい方法は何ですか?

@property 
def value(self): 
    value = self.average_flow_rate * (self.d_n/1000)/self.nu 
    if 2320 < value < 4000: 
     return 4000 
    else: 
     return value 
+1

使用組み込みメソッド 'ラウンド(値、2)' – hadi

+0

あなたは小数(ない山車を)したい場合は、STDLIBの 'decimal'モジュールを使用代わりに(モデルのdjango DecimalFields) –

+0

[Python 2.7で2桁の小数点以下を丸める方法は?](https://stackoverflow.com/questions/17470883/how-to-round-to-two-decimal -places-in-python-2-7) – Sayse

答えて

2

これは魅力のように動作するはずです:

round(self.d_n, 2) 
+0

ありがとうございました。私はそれを解決した。問題はテンプレートレンダリングで、私が '' {。form.instance.value | stringformat: "d"}} ''の代わりに '.2f"を入れたところです。 – XhensB

+0

'| floatformat'も見てみましょう... –

+0

私はむしろバックエンドでそれを処理する... – Silwest

関連する問題