1.使用JS截取字符的方式:
// 将数字金额进行千位分隔
function
formatNumber(number) {
number = number.replace(/,/g,
""
);
var
digit = number.indexOf(
"."
);
// 取得小数点的位置
var
int = number.substr(0, digit);
// 取得小数中的整数部分
var
i;
var
mag =
new
Array();
var
word;
if
(number.indexOf(
"."
) == -1) {
// 整数时
i = number.length;
// 整数的个数
while
(i > 0) {
word = number.substring(i, i - 3);
// 每隔3位截取一组数字
i -= 3;
mag.unshift(word);
// 分别将截取的数字压入数组
}
number = mag;
}
else
{
// 小数时
i = int.length;
// 除小数外,整数部分的个数
while
(i > 0) {
word = int.substring(i, i - 3);
// 每隔3位截取一组数字
i -= 3;
mag.unshift(word);
}
number = mag + number.substring(digit);
}
return
number;
}
2.使用正则表达式的方式:
- <script
TYPE="text/javascript"> - //正向前瞻
-
varre = /(d+)(?=d{3})/i; -
str = "123456789.32123"; -
function say(word){ -
word=word+"," ; -
if(word.length>=3){ -
word= word.replace(re,say) -
} -
return word; -
} -
str= str.replace(re,say); -
alert(str) //输出123,234,789.32123 - <script>