다음 코드가 있습니다. price_result가 정수와 같으면 10이라고 말하고 소수점 이하 두 자리를 추가하고 싶습니다. 따라서 10은 10.00입니다. 또는 10.6과 같으면 10.60이됩니다. 방법을 잘 모르겠습니다.
price_result = parseFloat(test_var.split('$')[1].slice(0,-1));
답변
toFixed () 를 사용 하여 그렇게 할 수 있습니다.
var twoPlacedFloat = parseFloat(yourString).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 배 빠릅니다.
http://jsperf.com/parsefloat-tofixed-vs-math-round
답변
숫자를 반환하려면 다른 괄호 레이어를 추가하십시오. 깨끗하게 유지합니다.
var twoPlacedFloat = parseFloat((10.02745).toFixed(2));
답변
당신의 목표는 구문 분석 할 수 있으며, 귀하의 의견은 문자 그대로있을 경우에, 당신은을 기대 float
하고 toFixed
그래서 여기를 제공하기 위해 두 가지 간단한 기능은 다음 사항을 제공하지 않습니다 :
function parseFloat2Decimals(value) {
return parseFloat(parseFloat(value).toFixed(2));
}
function parseFloat2Decimals(value,decimalPlaces) {
return parseFloat(parseFloat(value).toFixed(decimalPlaces));
}
답변
lodash에서 ceil은 아마 최고입니다
_.ceil("315.9250488",2)
_.ceil(315.9250488,2)
_.ceil(undefined,2)
_.ceil(null,2)
_.ceil("",2)
숫자로도 작동하며 안전합니다.
답변
@ sd
짧은 답변 : JS에서 소수점 뒤에 0이 오는 숫자 데이터 유형 값을 갖는 방법은 없습니다.
긴 대답 : 문자열을 반환하는 JavaScript 의 속성 toFixed
또는 toPrecision
기능입니다. 그 이유는 Number 데이터 유형이 a = 2.00과 같은 값을 가질 수 없기 때문에 항상 소수점 다음에 오는 0을 제거하기 때문입니다. 이것은 Number Datatype의 내장 특성입니다. JS에서 위를 달성하기 위해 우리는 두 가지 옵션이 있습니다