我有下面的代码。我想让它这样,如果price_result等于一个整数,比如10,然后我想加两位小数点后。所以10就是10.00。 如果等于10.6,就是10.60。不知道该怎么做。
price_result = parseFloat(test_var.split('$')[1].slice(0,-1));
我有下面的代码。我想让它这样,如果price_result等于一个整数,比如10,然后我想加两位小数点后。所以10就是10.00。 如果等于10.6,就是10.60。不知道该怎么做。
price_result = parseFloat(test_var.split('$')[1].slice(0,-1));
当前回答
如果你不想四舍五入,请使用下面的函数。
function ConvertToDecimal(num) {
num = num.toString(); //If it's not already a String
num = num.slice(0, (num.indexOf(".")) + 3); //With 3 exposing the hundredths place
alert('M : ' + Number(num)); //If you need it back as a Number
}
其他回答
如果你不想四舍五入,请使用下面的函数。
function ConvertToDecimal(num) {
num = num.toString(); //If it's not already a String
num = num.slice(0, (num.indexOf(".")) + 3); //With 3 exposing the hundredths place
alert('M : ' + Number(num)); //If you need it back as a Number
}
如果你需要性能(游戏邦注:比如在游戏中):
Math.round(number * 100) / 100
它大约是parseFloat(number.toFixed(2))速度的100倍。
http://jsperf.com/parsefloat-tofixed-vs-math-round
您可以将价格存储为字符串
你可以使用 (字符串)
用于计算。
例子
Number("34.50") == 34.5
also
Number("35.65") == 35.65
如果你对数字函数感到舒服,你可以使用它。
它的价值:一个十进制数,是一个十进制数,你可以四舍五入到某个其他值。在内部,它将根据浮点算术和处理规则近似一个小数。它在内部保持一个十进制数(浮点数,在JS中是double),无论你想用多少位数字来显示它。
要将其表示为显示,可以通过字符串转换选择显示的精度。表示是一个显示问题,而不是存储问题。
我已经为我的案子试过了,它会工作得很好。
var multiplied_value = parseFloat(given_quantity*given_price).toFixed(3);
样例输出:
9.007