【问题标题】:Twig Multiplication between two decimal values两个十进制值之间的 Twig 乘法
【发布时间】:2016-05-03 07:27:06
【问题描述】:

如何在 twig 中将两个十进制值相乘?

假设 var1 = "37.57" 和 var2 = "8" 我试过了

{{ var1 * var2 }}

但它只乘整数值而忽略小数返回“296”,即 37 * 8。

【问题讨论】:

  • 你确定变量是正确的,试试 {{ dump(var1, var2) }} 以确保你得到了你的想法
  • 检查这里 => twigfiddle.com/yef16p。我重新创建了它,它按预期工作。
  • 这是我在转储 SimpleXMLElement {#962 ▼ +"0": "72.75" } SimpleXMLElement {#960 ▼ +"0": "20.35" } in the twig {{ (var1 |number_format(2, ',', '.') * var2|number_format(2, ',', '.'))}} 还是一样,只是整数值的倍数
  • 好的,我发现它采用这些变量是字符串。如何在树枝中将字符串转换为整数值??

标签: symfony twig


【解决方案1】:

你可以试试

{{ var1|number_format * var2|number_format }}

可能因为字符串格式而不起作用(即使字符串格式应该可以工作)

number_format 的文档

【讨论】:

    【解决方案2】:

    好的,我开始工作了。

    由于某种原因,树枝将其视为“字符串”而不是“整数”,不确定为什么会这样,因为我只是简单地返回了通过外部 API 连接接收到的数据。

    这是对我有用的东西:

    {% set var_1 = 0 + var1|numberformat(2,'.',',') %}
    {% set var_2 = 0 + var2|numberformat(2,'.',',') %}
    

    那么,

    {{ (var_1 * var_2)|numberformat(2,'.',',')}} 
    

    【讨论】:

      【解决方案3】:

      如果使用了错误的小数分隔符,可能会产生整数结果。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-26
        • 2013-04-19
        相关资源
        最近更新 更多