【问题标题】:Removing last two Zeros [AutoNumeric.js, JQuery]删除最后两个零 [AutoNumeric.js, JQuery]
【发布时间】:2016-07-28 13:09:22
【问题描述】:

我正在使用autonumeric.js 生成货币数字格式,问题是自动数字在逗号后又生成了 2 个零。例如 40560000 变为 40.560.000,00

我想删除最后 2 个零,所以自动数字的结果不是 40.560.000,00,而是 40.560.000

这是我的脚本:

$('td.sub_total').autoNumeric('init', {aSep: '.', aDec: ','});
$('td.vat').autoNumeric('init', {aSep: '.', aDec: ','});
$('td.total').autoNumeric('init', {aSep: '.', aDec: ','});

任何帮助将不胜感激,谢谢。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    根据documentation,您可以在对象中简单地使用mDec键。

    例子:

    $('td.sub_total').autoNumeric('init', {aSep: '.', aDec: ',', mDec: '0'});
    $('td.vat').autoNumeric('init', {aSep: '.', aDec: ',', mDec: '0'});
    $('td.total').autoNumeric('init', {aSep: '.', aDec: ',', mDec: '0'});
    

    【讨论】:

    • 好吧,我没有阅读您上面提到的文档,谢谢,它有效:D
    • mDec 是小数位覆盖。使用vMin/vMax 是设置所需小数位数的主要方法。在您的情况下,您应该只在这两个选项中使用整数,并且不会出现小数。
    • 从 AutoNumeric v4 开始,decimalPlaceOverride 已被删除,取而代之的是一种更明确的方式来指定小数位数:decimalPlaces。就是这样;)
    • 查看 mDec、vMin、vMax 和 aPad 来自:decorplanit.com/plugin 您还可以使用这些数据属性将您的元素归为元素,而不必定义不同的自动数字。例如具有最多 4 个小数精度点的最小值和最大值,并且不使用 0 填充:
    【解决方案2】:

    正如 Alex 在评论中提到的:

    对于 autoNumeric v4+,正确的做法是使用:

    {decimalPlaces:'0'}
    

    【讨论】:

      【解决方案3】:

      autonumeric.js 提供选项 (aPad) 来删除不必要的零数字。您可以在上面的源代码中尝试此流程。 你可以试试:

          // wacth change opts and re-instance autoNumeric
          scope.$watch(() => {
              return $(element).attr('kv-auto-numeric'); // set a watch on the actual DOM value
          },
          (val: string) => {
              opts = angular.extend({}, this.options, scope.$eval(val)) as AutoNumericOptions;
      
              // remove unneccessary zero numbers
              opts.aPad = false;
              element.autoNumeric('update', opts);
          });
      

      【讨论】:

      • 点评来源: 您好,请不要只回答源代码。尝试对您的解决方案如何工作提供一个很好的描述。请参阅:How do I write a good answer?。谢谢
      • autonumeric.js 提供选项 (aPad) 来删除不必要的零数字。你可以试试上面的源代码这个流程。
      • 请将所有解释添加到答案本身,而不是评论部分
      【解决方案4】:

      Autonumeric 包含一个名为“allowDecimalPadding”的选项。如果此选项设置为 true,则仅在有一些小数时才进行填充。

      Autonumeric npm.js

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多