1

将 Javascript 添加到 PDF 时,我是否可以打印一个浮点数,使其看起来像这样:50,0000 美元?

我不关心国际化。

我可以使用 util.printf,但它不会输入逗号。

4

4 回答 4

1

一个简单的添加逗号功能是:

function addCommas(num) {
  var num = String(num);
  var bits, num0, s, f, len, sign = '', result = [];

  if (/^[+-]/.test(num)) {
    sign = num.substring(0,1);
    num = num.substring(1);
  }

  bits = String(num).split('.');
  num0 = bits[0];
  s = 0, f = num0.length % 3 ;
  len = num0.length;

  if (num0.length > 3) {

    while (f <= len) {
      f && result.push(num0.substring(s, f));
      s = f;
      f += 3;
    }
    result = result.join(',') + (bits[1]? '.' + bits[1] : '');
  }
  return sign + (s? result : num);
}

可能有一百万个类似的功能,试试谷歌。

编辑

修复了长度 > 6 和 num % 3 == 0 的问题添加了对 -ve 数字的支持

于 2012-11-28T02:58:22.093 回答
1

你的意思是用javascript来做吗?这对你有帮助吗。

formatNumber
function formatNumber( num ) {
    var decimalPart = '';
    num = num.toString();
    if ( num.indexOf( '.' ) != -1 ) {
        decimalPart = '.'+ num.split( '.' )[1];
        num = parseInt(num.split( '.' )[0]);
    }
    var array = num.toString().split( '' );
    var index = -3;
    while ( array.length + index > 0 ) {
        array.splice( index, 0, ',' );
        index -= 4;
    }
    return array.join( '' ) + decimalPart;
}
于 2012-11-28T01:23:19.887 回答
1

有点晚了,但是...

printf添加逗号。

util.printf("%,0.0f", numberValue);

有关更多信息,请参阅 JavaScript™ for Acrobat® API 参考...

于 2015-07-14T12:32:50.447 回答
0

此解决方案也适用于负数。

function addCommas( num ) {
    var parts = num.toString(10).split(".");
    parts[0] = parts[0].reverse().replace(/(\d{3})/g, "$1,").reverse();
    return parts.join(".");
}   

String.prototype.reverse = function () {
    return this.split("").reverse().join("");
}

在这里提琴

于 2012-11-28T08:06:29.620 回答