将Javascript添加到PDF时,是否可以打印浮点数,使其看起来像这样:$ 50,0000?
我不关心国际化。
我可以使用util.printf,但它不会将逗号放入。
答案 0 :(得分: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;
}
答案 1 :(得分: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);
}
可能有一百万个类似的功能,试试谷歌。
修正了长度&gt;的问题6和num%3 == 0 添加了对-ve numbers的支持
答案 2 :(得分:1)
有点晚了但是......
printf 将添加逗号。
util.printf("%,0.0f", numberValue);
答案 3 :(得分: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("");
}
小提琴here