簡體   English   中英

在 Jinja 模板 Flask 中舍入小數

[英]Rounding a decimal in Jinja template Flask

由於 Jinja 模板中的除法,我想四舍五入一個十進制值有沒有辦法做到這一點?
我試過這樣做:

<td>{{'%0.2f'|format(spend[0] / user[0] |float ) }}</td>

但我得到一個錯誤:

TypeError: unsupported operand type(s) for /: 'decimal.Decimal' and 'float'

如果除法的結果是例如:

666.6666666666666666666666667

它應該四舍五入到 666.67

有沒有辦法可以做到這一點?

你確實有兩個問題:

  • 您的變量中似乎有混合類型(一個小數和一個浮點數),您應該在除法之前將它們都轉換為浮點數(因為 Jinja 中沒有十進制類型)
  • 當您想要四舍五入時,您正在使用格式過濾器,但是,有一個用於該目的的round過濾器

鑒於這兩個評論,您的代碼片段應該是:

<td>
  {{ ((spend[0] | float) / (user[0] | float)) | round(2) }}
</td>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM