Php 细枝不';t近似数

Php 细枝不';t近似数,php,symfony,twig,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>

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

{% 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>
{%set总金额=0%}
{u result%}
{%set total_amount=total_amount+(“%.2f”|格式(result.tva*result.prix_ht))%}
{{{%.2f}格式(result.tva*result.prix_ht)}
/tr>
{%endfor%}
全部的
{{总金额}
因此,我:
15.98、25.49、25.49
Total=65
,但Total应等于
65.96
。我不明白问题出在哪里。你能帮我吗

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

{% 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>
{%set总金额=0%}
{u result%}
{%set值=(result.tva*result.prix_ht)|舍入(2)%}
{%set total\ U amount=total\ U amount+value%}
{{value | number _格式(2,',',')}
/tr>
{%endfor%}
全部的
{{总额|数字|格式(2,',',')}
此示例中包含示例数据的运行示例


希望这有助于

这里的主题外评论。我只是想帮你做一个命名约定,你正在为twig中的循环做命名约定。如果您可以对结果%}中的结果执行
{%操作,那就太好了。
因此,对于单数形式的复数形式,它将是
,所以阅读起来很好。:)其次,为什么不在PHP中进行求和而不是使用twig?正如@Farkie所说的,请让PHP/控制器来完成这项工作,并使用twig进行演示。舍入问题存在于第一行,您应该将其设置为
{%set total_amount=0.00%}