최근에 요청사항 중에 소수점 세자리까지는 그대로 노출,
세자리가 넘어가면 넷째자리에서 반올림 후에 세자리로 표현 해 달라는 요청이 있었다.
어떻게 처리할까 하다가, 단순하게 소수점 자체를 기준으로 처리하기로 했다.
const convertNumber = (value) => {
let result;
const demicalCount = ((target) => {
if (typeof target !== "number") return 0;
return Number.isInteger(value) ? 0 : target.toString().split(".")[1].length;
})(value);
if (demicalCount > 3) {
return Math.round(value * 1000) / 1000;
} else {
...
}
};