โ ๋ฌธ์
์๋ฐ์คํฌ๋ฆฝํธ์์ ์์์ ์ฒซ์งธ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผํ์ฌ ์ ์๋ฅผ ๋ฐํ ๋ฐ๊ธฐ ์ํด์๋ Math.round() ๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์์์ n์งธ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผ ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํ ๊น?
์ซ์๋ฅผ ํน์ ์๋ฆฟ์๋ก ๋ฐ์ฌ๋ฆผํ๋ ค๋ฉด toFixed() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
์ด ๋ฉ์๋๋ ์ซ์๋ฅผ ๋ฌธ์์ด๋ก ๋ฐํํ๋ฉฐ, ์์์ ์๋ ํน์ ์๋ฆฟ์๊น์ง ๋ฐ์ฌ๋ฆผํ์ฌ ํ์ํ๋ค.
๋ง์ฝ ๋ฐ์ฌ๋ฆผ๋ ๊ฐ์ ์ซ์๋ก ์ฌ์ฉํ๋ ค๋ฉด parseFloat() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ์ซ์๋ก ๋ณํํด ์ฃผ์ด์ผ ํ๋ค.
โ 1. ์์์ n์งธ ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผํ๊ธฐ
โ
var number = 2.15435;
var roundedNumber = number.toFixed(2);
console.log(roundedNumber); // ์ถ๋ ฅ: "2.15"
โ
์๋ฅผ ๋ค์ด, 2.15435๋ฅผ ์์ ๋์งธ ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค.
์ ์ฝ๋์์ toFixed(2)๋ ์์์ ์๋ ๋์งธ ์๋ฆฌ๊น์ง ๋ฐ์ฌ๋ฆผํ์ฌ ๊ฐ์ ๋ฐํํ๋ค.
์ ์งธ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผํ๊ณ ์ถ์ผ๋ฉด toFixed(3)์ ํด์ฃผ๋ฉด ๋๋ค.
์๋๋ String์ผ๋ก ๋ฐํ๋ฐ์ ๊ฐ์ ์ซ์ํ์ผ๋ก ๋ณํ ์์ผ์ฃผ๋ ๊ณผ์ ์ด๋ค. - parseFloat()
var number = 2.15435;
var roundedNumber = parseFloat(number.toFixed(2));
console.log(roundedNumber); // ์ถ๋ ฅ: 2.15 (์ซ์ ํํ)
โ 2. ์์์ n์งธ ์๋ฆฌ ๋ด๋ฆผํ๊ธฐ
โ
๋ง์ฝ ํน์ ์๋ฆฟ์๊น์ง ๋ด๋ฆผ ํ๊ณ ์ถ์ผ๋ฉด? truncateToFixed() ๋ฅผ ์ฌ์ฉ ํด ์ฃผ๋ฉด ๋๋ค.
์ด ํจ์์ ๋ชจ์์ ์ดํด ๋ณด๋ฉด ์๋์ ๊ฐ๋ค.
function truncateToFixed(value, decimals) {
var multiplier = Math.pow(10, decimals);
return Math.floor(value * multiplier) / multiplier;
}
์์ ์ฝ๋์ฒ๋ผ truncateToFixed() ๋ ์ฃผ์ด์ง value ๋ฅผ ์์์ ์๋ decimals ์๋ฆฟ์๊น์ง ๋ฒ๋ฆผํ ํ ํด๋น ๊ฐ์ ๋ฐํํ๋ค.
โ
์๋๋ 2.15435 ๋ฅผ ์์์ ๋์งธ์๋ฆฌ ์๋๋ก ๋ฒ๋ฆฌ๋ ์ฝ๋์ด๋ค.
์ฌ๊ธฐ์ value๋ 2.15435๊ฐ ๋๊ณ , decimals๋ 2๊ฐ ๋๋ค.
var number = 2.15435;
var truncatedNumber = truncateToFixed(number, 2);
console.log(truncatedNumber); // ์ถ๋ ฅ: 2.15