小数点以下 10 桁でデータベースに保存したいのですが、GUI では小数点以下 2 桁しか表示されません。
データ型は関係ありません。
これを行う簡単な方法はありますか?
ありがとうヘンリック
小数点以下 10 桁でデータベースに保存したいのですが、GUI では小数点以下 2 桁しか表示されません。
データ型は関係ありません。
これを行う簡単な方法はありますか?
ありがとうヘンリック
答えは実際には 2 つあります。
データの保存方法は?
CharField などとして保存しないでください。DecimalFieldまたはFloatFieldとして保存するだけです。
models.DecimalField(..., max_digits=20, decimal_places=10)
小数点以下 2 桁だけを表示するにはどうすればよいですか?
floatformat
完全な値を入力として受け取り、必要な小数点以下の桁数で丸められた小数を出力するテンプレート タグを使用します。あなたの場合、それは{{ value|floatformat:2 }}
.
float と decimal フィールドは同じではないことに注意してください。
[カスタム テンプレート タグが不要であることを指摘したBurhan Khalid 氏の功績による]
データ型が問題にならない場合、最も簡単な方法は、データベースにテキストとして保存し、表示するときにその量を解析することです。
>>> silly = '12345.6789098765'
>>> silly[:silly.rfind('.')+3]
'12345.67'
少し高度です。精度が必要ないと仮定すると:
>>> "{0:0.2f}".format(float(silly))
'12345.68'