【问题标题】:meteor, mongodb, spacebars, how do I display only 2 decimal places流星,mongodb,空格键,我如何只显示 2 位小数
【发布时间】:2015-02-19 02:07:32
【问题描述】:

我有一个集合,其值类似于{ "pctFail" : "0.3515500159795462" },当我将其传递给模板并显示为 {{myTemplate}}% 时,它在我的 html 中显示为 0.3515500159795462%。如何将其显示为 0.35% ?

【问题讨论】:

    标签: mongodb meteor spacebars


    【解决方案1】:

    您可以使用模板辅助方法覆盖数据上下文的属性:

    Template.myTemplate.helpers({
      pctFail: function () { return this.pctFail.toFixed(2); }
    })
    

    然后像以前一样使用{{pctFail}}%。如果您坚持将数值属性存储为字符串,则需要返回类似 parseFloat(this.pctFail).toFixed(2) 的内容。

    【讨论】:

    • 谢谢 Donny,我的收藏中有几件物品我想应用这个 .toFixed(2) 函数。我当前的助手只是以return Items.find() 的方式将它们全部返回,然后我用块助手 {{#each items}} 的方式遍历它们。有没有办法可以将所有返回值应用于双精度值?像return Wafers.find().toFixed(2) 或者我是否必须为我的每个“pct”类型的键创建一个助手?
    • 好的,我刚刚为我的每个项目(即“pctFail”、“pctX”、“pctY”等)创建了一个方法,在这里只是通用的,但我有 7 个数据项我需要将其转换为 2 位十进制固定精度的 pct。我想要一些通用的东西来处理所有事情,但是创建 7 个辅助方法也不错。再次感谢唐尼!
    • 你能分享你的代码吗?我有同样的问题,但我不明白如何将此答案应用于 Items.find()
    【解决方案2】:

    您还可以使用辅助函数 http://docs.meteor.com/#/full/template_registerhelper 来解决此问题,该函数可用于所有模板,如下所示:

    Template.registerHelper('toFixed', function (x, decimals) {
        return x.toFixed(decimals);
    })
    

    然后你可以使用:

     {{toFixed item.pctFail 2}}
    

    如果您坚持将数值属性存储为字符串,则需要返回类似

    parseFloat(x).toFixed(decimals)
    

    改为。

    【讨论】:

      【解决方案3】:

      你可以使用子字符串来做这样的事情

      Template,myTemplate.helpers({
          pctFail: function () {
              return this.pctFail.substring(0, 4);
          }
      )};
      

      【讨论】:

        猜你喜欢
        • 2015-08-02
        • 1970-01-01
        • 2016-07-14
        • 2016-01-27
        • 2011-01-01
        • 2021-07-19
        • 2019-03-11
        • 2013-09-13
        相关资源
        最近更新 更多