Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将数字格式化为货币,两位小数_Javascript_Jquery - Fatal编程技术网

Javascript 将数字格式化为货币,两位小数

Javascript 将数字格式化为货币,两位小数,javascript,jquery,Javascript,Jquery,我该怎么转,比如说1499,到14.99?原始数字将始终列为“1999”、“2499”、“9999”等,最后两个数字为小数。最好使用jQuery 我所理解的唯一代码假设已经没有小数,或者想要对它们进行四舍五入,类似于 var num = 10; var result = num.toFixed(2); 数字19999=199.99美元 数字149=1.49美元 所以后面的两个数字是小数。思想?我见过应该可以工作的插件,但我更愿意不必为这个相对较小的任务使用插件 为了避免由于浮点问题而导致我不信

我该怎么转,比如说1499,到14.99?原始数字将始终列为“1999”、“2499”、“9999”等,最后两个数字为小数。最好使用jQuery

我所理解的唯一代码假设已经没有小数,或者想要对它们进行四舍五入,类似于

var num = 10;
var result = num.toFixed(2);
数字19999=199.99美元 数字149=1.49美元
所以后面的两个数字是小数。思想?我见过应该可以工作的插件,但我更愿意不必为这个相对较小的任务使用插件

为了避免由于浮点问题而导致我不信任的除法,这里有一个不使用它的除法:

函数dec(num){
var str=字符串(num);
if(str.length<3)返回“$0.”+(“0”+str.slice(-2);
返回“$”+str.substring(0,str.length-2)+“+”+str.slice(-2);
}
文件编写(“
”+dec(9)) 文件写入(“
”+dec(99)) 文件写入(“
”+dec(199)) 文件编写(“
”+dec(1999))
document.write(“
”+dec(19999))
为了避免由于浮点问题而导致我不信任的除法,这里有一个不使用它的除法:

函数dec(num){
var str=字符串(num);
if(str.length<3)返回“$0.”+(“0”+str.slice(-2);
返回“$”+str.substring(0,str.length-2)+“+”+str.slice(-2);
}
文件编写(“
”+dec(9)) 文件写入(“
”+dec(99)) 文件写入(“
”+dec(199)) 文件编写(“
”+dec(1999))
写(“
”+dec(19999))
一旦你除以100,你的代码就可以完美地工作了

function convert(value) {
    return (value / 100).toFixed(2);
}

console.log(convert(1499));
console.log(convert(2499));
console.log(convert(9999));
jsfiddle示例


一旦除以100,您的代码就可以完美地工作

function convert(value) {
    return (value / 100).toFixed(2);
}

console.log(convert(1499));
console.log(convert(2499));
console.log(convert(9999));
jsfiddle示例

演示

函数转换(num){
返回“$”+(num/100).toFixed(2);
}
var num1=2499;
var result1=转换(num1);
var num2=190;
var result2=换算(num2);
var num3=99;
var result3=换算(num3);
document.write(result1+“
”); document.write(result2+“
”); document.write(result3+“
”) 演示

函数转换(num){
返回“$”+(num/100).toFixed(2);
}
var num1=2499;
var result1=转换(num1);
var num2=190;
var result2=换算(num2);
var num3=99;
var result3=换算(num3);
document.write(result1+“
”); document.write(result2+“
”);
document.write(result3+“
”)解决方法是在调用Fixed之前将您的号码除以100。 样本:
结果=(num/100)。toFixed(2)

在调用toFixed之前,解决方法是将您的数字除以100。 样本:
result=(num/100).toFixed(2)

我认为一个很好的方法是循环一个从数字中获得的字符串,然后在应该添加的时候添加一个点或任何东西

function toCurrency(n) {
    var value = n.toString();
    var output = '$';
    for (var i = 0; i < value.length; ++i) {
        if (i === value.length - 2) output += '.';
        output += value[i];
    }
    return output;
}

console.log(toCurrency(2499)); // $24.99
函数到电流(n){
var值=n.toString();
变量输出=“$”;
对于(变量i=0;i
此函数也可以添加为数字的原型,如下所示:

Number.prototype.toCurrency = function() {
    var value = this.toString();
    var output = '$';
    for (var i = 0; i < value.length; ++i) {
        if (i === value.length - 2) output += '.';
        output += value[i];
    }
    return output;
}

var price = 12200;
price.toCurrency(); // "$122.00"
Number.prototype.toCurrency=function(){
var value=this.toString();
变量输出=“$”;
对于(变量i=0;i

我会这样做,但我必须说,不建议修改原语

我认为这样做的一个好方法是在从数字中获得的字符串中循环,并在应该添加的时候添加一个点或任何东西

function toCurrency(n) {
    var value = n.toString();
    var output = '$';
    for (var i = 0; i < value.length; ++i) {
        if (i === value.length - 2) output += '.';
        output += value[i];
    }
    return output;
}

console.log(toCurrency(2499)); // $24.99
函数到电流(n){
var值=n.toString();
变量输出=“$”;
对于(变量i=0;i
此函数也可以添加为数字的原型,如下所示:

Number.prototype.toCurrency = function() {
    var value = this.toString();
    var output = '$';
    for (var i = 0; i < value.length; ++i) {
        if (i === value.length - 2) output += '.';
        output += value[i];
    }
    return output;
}

var price = 12200;
price.toCurrency(); // "$122.00"
Number.prototype.toCurrency=function(){
var value=this.toString();
变量输出=“$”;
对于(变量i=0;i


我会这样做,但我必须说,不建议修改原语

您能分享更多的测试用例吗?或者,用逗号分隔最后两位数字是您要查找的唯一测试用例?看看如何将数字更改为字符串,并将最后两位数字替换为“.xx”?OP不想将1499变为1499.00,请重新阅读文章。您可以共享更多测试用例吗?或者,用逗号分隔最后两位数字是您正在寻找的唯一测试用例?看看如何将数字更改为字符串,并将最后两位数字替换为“.xx”?OP不想将1499变为1499.00,请重新阅读该帖子。这很好。我开始写我自己的函数,你更快了。但是我们可以这样说,
num.length<3
更新为处理<3删除的我的,因为你的更好、更短。另外,我认为这是最好的答案,因为它涵盖了浮点问题。对于56.2k,你应该习惯它。曾经有一段时间,总有人对我的答案投反对票。来自我+1。谢谢你们。这只是原则。我很想知道为什么有人觉得有必要否决投票。这太好了。我开始写我自己的函数,你更快了。但是我们可以这样说,
num.length<3
更新为处理<3删除的我的,因为你的更好、更短。另外,我认为这是最好的答案,因为它涵盖了浮点问题。对于56.2k,你应该习惯它。曾经有一段时间,总有人对我的答案投反对票。来自我+1。谢谢你们。这只是原则。我很想知道为什么有人认为有必要否决投票,特别是什么问题?事实上,我会以t为底