Javascript:将整数转换为字符串(货币表示)的函数?

时间:2012-03-10 07:56:59

标签: javascript

在我的数据库中,我存储货币值而没有任何积分或逗号。 所以我需要一个将它转换成金钱字符串的Javascript函数。

示例:将500(5美元)转换为5.00,100转换为1.00,550转换为5.50等

任何人都可以发布这样的功能吗?

4 个答案:

答案 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;
}