【问题标题】:Is there a way to restrict number of decimal places shown for a number in output in Handlebars?有没有办法限制 Handlebars 输出中数字显示的小数位数?
【发布时间】:2018-01-12 12:43:06
【问题描述】:

我试图显示客户需要花费多少才能在此网站上获得免费送货服务。我有代码工作,但输出没有按预期显示。该产品的价格为 29.99,但以下车把代码的结果返回值 5.010000000000002。车把(或 html)有没有办法只显示 5.01 而不是其余的?

{{subtract 35 price.without_tax.value}}

【问题讨论】:

    标签: javascript html css handlebars.js


    【解决方案1】:

    您可以使用 registerHelper 注册一个助手并将其用于转换。

    Handlebars.registerHelper('distanceFixed', function(distance) {
    return distance.toFixed(2);
    });
    

    演示:http://jsfiddle.net/IrvinDominin/T7knB/

    【讨论】:

      【解决方案2】:

      我对 Handlebars 没有任何经验,但我可以告诉你,在纯 JavaScript 中,你可以使用 Number's toFixed() method 来处理。

      var output = 35 - 29.99;
      
      console.log(output); // 5.010000000000002
      console.log(output.toFixed(2)); // 5.01

      【讨论】:

      • 为什么 35-29.99 返回的不仅仅是 5.01?
      • 这是大多数编程语言的问题。它与浮点数的解释方式有关。有关更多信息,我推荐这个 SO 问题:stackoverflow.com/questions/1458633/…
      • 看起来这对我来说是一个平台问题,因为我无法在 BigCommerce 的 Handlebars 中编写自己的助手。必须从他们的助手库中找到一些东西,否则这会奏效。
      猜你喜欢
      • 1970-01-01
      • 2013-11-19
      • 2021-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多