题目

1
数字转字符串千分位

输入

1
1000000.01

输出

1
1,000,000.01

回答

回答1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function a( _num ){
_str = _num.toString();
let _arr = _str.split(".");
let _newStr = "";
var t = 0;
for( let i=_arr[0].length-1;i>=0;i-- ){
if( t==2 ){
_newStr = `,${_arr[0][i]}${_newStr}`;
t = 0;
} else {
_newStr = `${_arr[0][i]}${_newStr}`;
t++;
}
}

// 处理前置的“ , ”
_newStr = _newStr.replace( /^,?(.*?),?$/g, "$1" );

// 拼接整数部分
if( _arr[1] ){
return `${_newStr}.${_arr[1]}`;
} else {
return `${_newStr}`;
}
}
console.log( a( 1000000.01 ) )

回答2

1
2
3
4
function b( _num ){
return _num.toString().replace( /\d{1,3}(?=(\d{3})+)(?=.\d*)/g, "$&," )
}
console.log( b( 1000000.01 ) )

回答3

1
2
3
4
function c( _num ){
return _num.toLocaleString()
}
console.log( c( 1000000.01 ) )

Comments

2020-11-03

⬆︎TOP