Number.toFixed vs getNumberDigit | CreateJS
小数点以下の桁数を指定して表示する Number.toFixed() の代わりになる関数
例1:(0.005).toFixed(2) が 0.01 になる(正)
例2:(-0.005).toFixed(2) が -0.01 になる(正)
例3:(1.005).toFixed(2) が 1.00 になる(誤)
例4:(-1.005).toFixed(2) が -1.00 になる(誤)
例5:(2.005).toFixed(2) が 2.00 になる(誤)
例6:(-2.005).toFixed(2) が -2.00 になる(誤)
////////////////////////////////////////
// 小数点以下の桁数表示(toFixedの代わり)
////////////////////////////////////////
function getNumberDigit(value, digit) {
var shift = function(value, digit, reverse) {
if (reverse) digit = -digit;
var list = ("" + value).split("e");
return Number(list[0] + "e" + (list[1] ? (Number(list[1]) + digit) : digit));
};
var sign = "";
if (value < 0) {
sign = "-";
value = Math.abs(value);
}
var number = Math.round(shift(value, digit, false));
return sign + shift(number, digit, true).toFixed(digit);
}