2012-05-27 44 views
1

我有一個對象MyObject,其中包含有時數字的屬性MyProp。目前,我將數字顯示爲這樣的文字:很好地顯示數值

$('#MyDiv').text(MyObject.MyProp); 

我想爲此編號添加格式。我可以檢查它的數字,但我想知道如何做數字格式。

if ($.isNumeric(MyObject.MyProp) === false) { 

    $('#MyDiv').text(MyObject.MyProp); 

} else { 

    var PrettyNumber = MakePrettyNumber(MyObject.MyProp); 
    $('#MyDiv').text(PrettyNumber); 
} 

我想通過數字字符串的長度循環並添加逗號來分隔數千和添加小數點。有沒有更好的辦法?一個不需要插件?

謝謝。

+0

有任何標準的JavaScript運行時做你描述沒有原生的設施。您必須編寫自己的代碼或使用其他庫。 – Pointy

回答

0
function MakePrettyNumber(x) { 
    var res = x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); 
    res = res.replace(/^([^\.]*)$/g, "$1.000"); 
    return res; 
} 

看到這裏的細節:How to print a number with commas as thousands separators in JavaScript

+0

啊好的,正則表達式!有沒有辦法添加小數點? – frenchie

+0

MakePrettyNumber(12345.6789)結果不是很漂亮 –

+0

@frechie如果你不想在數字的末尾添加一個小數點?所以,如果輸入是123456,那麼輸出應該是123,456.00? –

-2

,你可以這樣做:

var a= MyObject.MyProp, 
number = a.substring(0,4) + ',' + a.substring(4,6) + ',' + a.substring(6) 
+0

a =「12345.6789」想想吧 –