我有以下代码。我想要这样,如果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));
适用于我的解决方案如下
parseFloat(value)
简单的JavaScript,浮点数的字符串:
var it_price = chief_double($("#ContentPlaceHolder1_txt_it_price").val());
function chief_double(num){
var n = parseFloat(num);
if (isNaN(n)) {
return "0";
}
else {
return parseFloat(num);
}
}
对于它的价值:十进制数字是十进制数字,您可以将其四舍五入为其他值。在内部,它将根据浮点合成和处理规则近似为小数点后一位。无论要显示多少位数,它在内部都保留一个十进制数字(浮点数,在JS中为双精度)。
要显示它以进行显示,您可以通过字符串转换将显示的精度选择为所需的精度。演示是一个显示问题,而不是存储问题。
来自lodash的ceil可能是最好的
_.ceil("315.9250488",2)
_.ceil(315.9250488,2)
_.ceil(undefined,2)
_.ceil(null,2)
_.ceil("",2)
也可以与数字一起使用,这是安全的
如果您的目标是解析,并且您的输入可能是文字,那么您会期望a float
并且toFixed
不会提供它,因此这里有两个简单的函数可以提供此功能:
function parseFloat2Decimals(value) {
return parseFloat(parseFloat(value).toFixed(2));
}
function parseFloat2Decimals(value,decimalPlaces) {
return parseFloat(parseFloat(value).toFixed(decimalPlaces));
}
要返回数字,请添加另一层括号。保持清洁。
var twoPlacedFloat = parseFloat((10.02745).toFixed(2));
使用时toFixed
,它始终以字符串形式返回值。这有时会使代码复杂化。为避免这种情况,可以为Number设置另一种方法。
Number.prototype.round = function(p) {
p = p || 10;
return parseFloat( this.toFixed(p) );
};
并使用:
var n = 22 / 7; // 3.142857142857143
n.round(3); // 3.143
或者简单地:
(22/7).round(3); // 3.143
如果您需要性能(例如在游戏中):
Math.round(number * 100) / 100
大约是parseFloat(number.toFixed(2))的100倍
您可以使用toFixed()来做到这一点
var twoPlacedFloat = parseFloat(yourString).toFixed(2)
我还有其他解决方案。
您可以用来
round()
代替toFixed()