如何将1499转为14.99?原始数字将始终列为“1999”,“2499”,“9999”等,最后2个数字为小数。最好是在jQuery中。
我所理解的唯一代码假设已经没有小数,或者想要围绕它们,类似于
var num = 10;
var result = num.toFixed(2);
19999 = 199.99美元 数字149 = 1.49美元 所以后面的两个数字是小数。想法?我已经看过应该可以使用的插件,但我不想在这个相对较小的任务中使用插件。
答案 0 :(得分:4)
为了避免由于浮点问题我不信任的划分,这里有一个不使用它:
function dec(num) {
var str = String(num);
if (str.length < 3) return "$0."+("0"+str).slice(-2);
return "$"+str.substring(0,str.length-2)+"."+str.slice(-2);
}
document.write('<br/>'+dec(9))
document.write('<br/>'+dec(99))
document.write('<br/>'+dec(199))
document.write('<br/>'+dec(1999))
document.write('<br/>'+dec(19999))
&#13;
答案 1 :(得分:4)
一旦你除以100 ......
,你的代码就能完美地运作function convert(value) {
return (value / 100).toFixed(2);
}
console.log(convert(1499));
console.log(convert(2499));
console.log(convert(9999));
jsfiddle示例
答案 2 :(得分:2)
function convert(num) {
return '$' + (num / 100).toFixed(2);
}
var num1 = 2499;
var result1 = convert(num1); // $24.99
var num2 = 99;
var result2 = convert(num2); // $0.99
演示
function convert(num) {
return '$' + (num / 100).toFixed(2);
}
var num1 = 2499;
var result1 = convert(num1);
var num2 = 190;
var result2 = convert(num2);
var num3 = 99;
var result3 = convert(num3);
document.write(result1 + '</br>');
document.write(result2 + '</br>');
document.write(result3 + '</br>');
答案 3 :(得分:2)
在致电“固定”之前,解决方法是将您的数字除以100。 样品: result =(num / 100).toFixed(2)
答案 4 :(得分:2)
function test(number){
str = number.toString();
var len = str.length;
var x = '$' + str.substring(0, len-2) + "." + str.substring(len-2);
console.log(x);
}
答案 5 :(得分: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
这个函数也可以像这样添加为Number的原型:
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"
我会这样做,但我必须说不建议修改原语