javascript number_format 기대한 값과 다른 값이 출력됨 ...
조회수 1503회
입력값 변수 price = 6811.15;
var strPrice = number_format(parseFloat(price),2);
console.log(strPrice); // 6,811,.15
잘못된 값 6811.15 -> number_format -> 6,811,.15
기대한 값 6811.15 -> number_format -> 6,811.15
Math.round 적용해보고 .fixed(2) 이런식으로 응용해봐도 값이 이상합니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
number_format은 직접 만든 함수인가요?
이렇게 해 보세요.
Number.prototype.numberFormat = function(c){ var n = this, c = isNaN(c = Math.abs(c)) ? 2 : c, s = n < 0 ? "-" : "", i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0; return s + (j ? (i.substr(0, j) + ",") : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + ",") + (c ? "." + Math.abs(n - i).toFixed(c).slice(2) : ""); }; var price = 6811.15; var strPrice = (6811.15).numberFormat(2) console.log(strPrice); // 6,811,.15
댓글 입력