在我的数据库中,我存储货币值而没有任何积分或逗号。 所以我需要一个将它转换成金钱字符串的Javascript函数。
示例:将500(5美元)转换为5.00,100转换为1.00,550转换为5.50等
任何人都可以发布这样的功能吗?
答案 0 :(得分:2)
您可以使用以下内容:
function toAmount(amount){
amount = Number(amount);
if (isNaN(amount)){
throw 'invalid: can\'t convert input';
}
return (amount/100).toFixed(2);
}
//usage
toAmount(500); //=> 5.00
toAmount(520873); //=> 5208.73
toAmount('500'); //=> 5.00
或者将该功能用作Number
Number.prototype.toAmount = function toAmount(amount){
return (this/100).toFixed(2);
};
//usage:
(500).toAmount(); //= 5.00
(520873).toAmount(); //=> 5208.73
答案 1 :(得分:0)
如果容易将你的价值除以100;在此之后,如果不必要,您可以添加“.00”值
var valdb = 500;
var format = (valdb/100)+".00";
alert(format);
答案 2 :(得分:0)
您可以使用各种字符串操作(我选择使用slice())来提取最后两个字符,在其间插入句点并构造最终字符串。这样做的好处是可以避免浮点数学有时会出现的一些不准确之处:
var num = 500;
var numStr = num.toString();
var formattedStr = numStr.slice(0,-2) + "." + numStr.slice(-2);
如果你只是想使用浮点数学,你可以这样做:
var num = 500;
var formattedStr = (num / 100).toFixed(2).toString();
最后一个的操作部分是toFixed()方法,它舍入和零填充十进制数字到精确的位数(这正是你想要的钱)。您可以在this MDN reference中阅读toFixed()。
你可以看到他们两个在这里工作:http://jsfiddle.net/jfriend00/pApVR/
答案 3 :(得分:0)
只需将数字除以100,然后确保它始终具有小数,使用Javascript函数toFixed(2)。
所以看起来像:
function ConvertCentsToDollars(cents) {
var dollars = cents / 100;
var dollars = dollars.toFixed(2);
return dollars;
}