将 Javascript 添加到 PDF 时,我是否可以打印一个浮点数,使其看起来像这样:50,0000 美元?
我不关心国际化。
我可以使用 util.printf,但它不会输入逗号。
将 Javascript 添加到 PDF 时,我是否可以打印一个浮点数,使其看起来像这样:50,0000 美元?
我不关心国际化。
我可以使用 util.printf,但它不会输入逗号。
一个简单的添加逗号功能是:
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 数字的支持
你的意思是用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;
}
有点晚了,但是...
printf将添加逗号。
util.printf("%,0.0f", numberValue);
此解决方案也适用于负数。
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("");
}
在这里提琴