2016-11-14 68 views
0

任何使用逗号显示数字货币数据的方法$44,721.90? (没有插件作为jquery面膜的首选)在jQuery数组循环中以逗号显示数字数据

在此先感谢。

var name1 = { 
 
    name: "John", 
 
    money: 44721.90 
 
}; 
 
var name2 = { 
 
    name: "Mayer", 
 
    money: 16715.79 
 
}; 
 

 
var names = [name1, name2]; 
 
    
 
function show() { 
 
    for (var i = 0; i < names.length; i++) { 
 
    $(".money").append('<span class="name">' + names[i].name + ' </span><span class="budget"> $' + names[i].money + '</span><br>'); 
 
    } 
 
} 
 

 
show();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="money"></div>

+0

可能[如何正确使用jQuery格式化货币?](http:// stac koverflow.com/questions/5043650/how-can-i-correctly-format-currency-using-jquery) – Santi

回答

0

您可以使用ES6的数字格式方法(see here):

DEMO下图:

var name1 = { 
 
    name: "John", 
 
    money: 44721.90 
 
}; 
 
var name2 = { 
 
    name: "Mayer", 
 
    money: 16715.79 
 
}; 
 

 
var names = [name1, name2]; 
 

 
function show() { 
 
    var numFormat = new Intl.NumberFormat("en-US"); 
 
    for (var i = 0; i < names.length; i++) { 
 
     $(".money").append('<span class="name">' + names[i].name + ' </span><span class="budget"> $' + numFormat.format(names[i].money) + '</span><br>'); 
 
    } 
 
} 
 

 
show();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="money"></div>

您还可以使用它的货币格式传递一个样式属性的数字格式(see here):

DEMO下图:

var name1 = { 
 
    name: "John", 
 
    money: 44721.90 
 
}; 
 
var name2 = { 
 
    name: "Mayer", 
 
    money: 16715.79 
 
}; 
 

 
var names = [name1, name2]; 
 

 
function show() { 
 
    var numFormat = new Intl.NumberFormat("en-US", { style: "currency", currency: "USD" }); 
 
    for (var i = 0; i < names.length; i++) { 
 
     $(".money").append('<span class="name">' + names[i].name + ' </span><span class="budget">' + numFormat.format(names[i].money) + '</span><br>'); 
 
    } 
 
} 
 

 
show();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="money"></div>

0

这可以帮助

function formatee(num) { 
    var dec = ""; 
    var result = ""; 
    if(num != parseInt(num)) { 
     // get decimal part if exist 
     dec = "." + (num+'').replace(/\d+\./, ''); 
    } 
    num = parseInt(num); 
    while(num > 1000) { 
     result = leadZero(num%1000) + (result ? ',' : '') + result; 
     num = parseInt(num/1000); 
    } 
    result = num + (result ? ',' : '') + result + dec; 
    return result; 
} 
function leadZero(numb) { 
    return (numb < 100 ? '0':'') + (numb < 10 ? '0':'') + numb; 
}