對這文章發表回應
發表限制: 非會員 可以發表
發表者: 冷日 發表時間: 2011/11/7 6:57:01
利用javascript達到數字千分位效果
有人發現上述Function有瑕疵,就是沒注意到小數點!
換言之,上述Function如果碰上小數點的話(嚴格來說,應該說小數點下四位以上時才會發生),會有很怪異的輸出。
所以提供進階版:
原文出處:數字用千分位符號顯示- 藍色小舖 BlueShop
<script language="JavaScript">
<!--
n="1279834847944074100465236.33"
// re=/(\d{1,3})(?=(\d{3})+(?:$|\.))/g
re=/(\d{1,3})(?=(\d{3})+(?:$|\D))/g
n1=n.replace(re,"$1,")
alert(n+"\r\n"+n1)
//-->
</script>
有人發現上述Function有瑕疵,就是沒注意到小數點!
換言之,上述Function如果碰上小數點的話(嚴格來說,應該說小數點下四位以上時才會發生),會有很怪異的輸出。
所以提供進階版:
<script>
function FormatNumber(n) {
n += "";
var arr = n.split(".");
var re = /(\d{1,3})(?=(\d{3})+$)/g;
return arr[0].replace(re,"$1,") + (arr.length == 2 ? "."+arr[1] : "");
}
//test
document.write(FormatNumber(1234567) + "<br>");
document.write(FormatNumber("12345678.12") + "<br>");
document.write(FormatNumber(123456789.1234) + "<br>");
document.write(FormatNumber(-123456.123) + "<br>");
</script>
原文出處:數字用千分位符號顯示- 藍色小舖 BlueShop