Twig不是近似数字

时间:2016-03-11 08:31:21

标签: php symfony twig

我有一个奇怪的情况。我的代码是:

{% set total_amount=0 %}
{% for result in a_result %}
   <tr>
      <td>{% set total_amount=total_amount+("%.2f"|format(result.tva*result.prix_ht)) %}
      {{ "%.2f"|format(result.tva*result.prix_ht) }}
      </td>
   /tr>
 {% endfor %}
 <tr>
     <td colspan="5">Total</td>
     <td>{{ total_amount }}</td>
 </tr>

结果我有: 15.98, 25.49, 25.49Total = 65但总数应与65.96相等。我不明白问题出在哪里。你能帮我吗 ?

1 个答案:

答案 0 :(得分:2)

我建议您使用roundnumber_format过滤器,如下所示:

{% set total_amount=0 %}
{% for result in a_result %}
{% set value = (result.tva* result.prix_ht)|round(2) %}
{% set total_amount=total_amount+value %}
   <tr>
      <td>
      {{ value|number_format(2, '.', ',') }}
      </td>
   /tr>
 {% endfor %}
 <tr>
     <td colspan="5">Total</td>
     <td>{{ total_amount|number_format(2, '.', ',') }}</td>
 </tr>

twigfiddle files

中包含示例数据的示例

希望这个帮助