๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

ํฐ ์ˆซ์ž(์‹ค์ˆ˜) ๋‹ค๋ฃจ๊ธฐ BigDecimal ์‚ฌ์šฉ๋ฒ• & ์˜ˆ์ œ ์ด์ •๋ฆฌ

by 5566 2023. 11. 12.

1. BigDecimal ์†Œ๊ฐœ

BigDecimal์€ ์ž๋ฐ”์—์„œ ์‹ค์ˆ˜๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹ค์ˆ˜๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ •์ˆ˜ ๋ถ€๋ถ„๊ณผ ์†Œ์ˆ˜ ๋ถ€๋ถ„์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์ €์žฅํ•˜๋ฉฐ, ํฐ ์ˆซ์ž๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹ค์ˆ˜๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์€ ์ค‘์š”ํ•œ ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ double์ด๋‚˜ float๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ ํƒ€์ž…์€ ๊ทผ์‚ฌ๊ฐ’์œผ๋กœ ์‹ค์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ถ€์ •ํ™•ํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ BigDecimal์€ ์ •ํ™•ํ•œ ์‹ค์ˆ˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

BigDecimal์€ ๋ถˆ๋ณ€ ํด๋ž˜์Šค๋กœ ์„ค๊ณ„๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•œ ๋ฒˆ ์ƒ์„ฑ๋œ ๊ฐ’์€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์ƒˆ๋กœ์šด ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ฐ’์„ ์กฐ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ •ํ™•์„ฑ๊ณผ ์•ˆ์ •์„ฑ์„ ์ œ๊ณตํ•˜๋Š”๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ์„น์…˜์—์„œ๋Š” BigDecimal ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

2. BigDecimal ์ธ์Šคํ„ด์Šค ์ƒ์„ฑํ•˜๊ธฐ

BigDecimal์€ ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•ด ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ BigDecimal์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

์ •์ˆ˜๋กœ BigDecimal ์ธ์Šคํ„ด์Šค ์ƒ์„ฑํ•˜๊ธฐ

BigDecimal number = new BigDecimal(10);

์œ„์˜ ์˜ˆ์ œ์—์„œ๋Š” ์ •์ˆ˜ 10์„ ์ž…๋ ฅํ•˜์—ฌ BigDecimal ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ BigDecimal์€ ์ •ํ™•ํ•œ ์‹ค์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์ •์ˆ˜ ๋ถ€๋ถ„๊ณผ ์†Œ์ˆ˜ ๋ถ€๋ถ„์„ ํฌํ•จํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋ฌธ์ž์—ด๋กœ BigDecimal ์ธ์Šคํ„ด์Šค ์ƒ์„ฑํ•˜๊ธฐ

BigDecimal number = new BigDecimal("3.141592653589793238");

์œ„์˜ ์˜ˆ์ œ์—์„œ๋Š” ๋ฌธ์ž์—ด "3.141592653589793238"์„ ์ž…๋ ฅํ•˜์—ฌ BigDecimal ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด ํ˜•์‹์œผ๋กœ ์ƒ์„ฑํ•  ๋•Œ๋Š” ์ •ํ™•ํ•œ ๊ฐ’์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์†Œ์ˆ˜์  ์ดํ•˜ ์ž๋ฆฌ์ˆ˜์— ์ œํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค.

BigDecimal ์ƒ์ˆ˜ ์‚ฌ์šฉํ•˜๊ธฐ

BigDecimal์€ ๋ช‡ ๊ฐ€์ง€ ์ƒ์ˆ˜๋ฅผ ์ œ๊ณตํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

BigDecimal zero = BigDecimal.ZERO; // 0
BigDecimal one = BigDecimal.ONE; // 1
BigDecimal ten = BigDecimal.TEN; // 10

์œ„์˜ ์˜ˆ์ œ์—์„œ๋Š” BigDecimal.ZERO, BigDecimal.ONE, BigDecimal.TEN ์ƒ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ๊ฐ 0, 1, 10 ๊ฐ’์„ ๊ฐ€์ง€๋Š” BigDecimal ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ์„น์…˜์—์„œ๋Š” BigDecimal ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

3. BigDecimal ์—ฐ์‚ฐ

BigDecimal์€ ๋‹ค์–‘ํ•œ ์—ฐ์‚ฐ์„ ์ง€์›ํ•˜์—ฌ ์ •ํ™•ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ์„น์…˜์—์„œ๋Š” BigDecimal์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์น™์—ฐ์‚ฐ๊ณผ ๋น„๊ต ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์‚ฌ์น™์—ฐ์‚ฐ

BigDecimal์€ ์‚ฌ์น™์—ฐ์‚ฐ์— ์‚ฌ์šฉ๋˜๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์ฃผ์š” ์‚ฌ์น™์—ฐ์‚ฐ ๋ฉ”์†Œ๋“œ๋“ค์˜ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค:

BigDecimal num1 = new BigDecimal("10");
BigDecimal num2 = new BigDecimal("5");

BigDecimal sum = num1.add(num2); // ๋ง์…ˆ
BigDecimal difference = num1.subtract(num2); // ๋บ„์…ˆ
BigDecimal product = num1.multiply(num2); // ๊ณฑ์…ˆ
BigDecimal quotient = num1.divide(num2); // ๋‚˜๋ˆ—์…ˆ

์œ„์˜ ์˜ˆ์‹œ์—์„œ๋Š” ๋‘ ๊ฐœ์˜ BigDecimal ์ธ์Šคํ„ด์Šค num1๊ณผ num2๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ด๋“ค์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ง์…ˆ, ๋บ„์…ˆ, ๊ณฑ์…ˆ, ๋‚˜๋ˆ—์…ˆ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋Š” ๊ฐ๊ฐ sum, difference, product, quotient ๋ณ€์ˆ˜์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

๋น„๊ต ์—ฐ์‚ฐ

BigDecimal์€ ๋น„๊ต ์—ฐ์‚ฐ์— ์‚ฌ์šฉ๋˜๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์ฃผ์š” ๋น„๊ต ์—ฐ์‚ฐ ๋ฉ”์†Œ๋“œ๋“ค์˜ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค:

BigDecimal num1 = new BigDecimal("10");
BigDecimal num2 = new BigDecimal("5");

boolean equal = num1.equals(num2); // ๊ฐ’์ด ๊ฐ™์€์ง€ ํ™•์ธ
boolean greaterThan = num1.compareTo(num2) > 0; // ํฌ๋‹ค
boolean lessThan = num1.compareTo(num2) < 0; // ์ž‘๋‹ค
boolean greaterThanOrEqual = num1.compareTo(num2) >= 0; // ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค
boolean lessThanOrEqual = num1.compareTo(num2) <= 0; // ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค

์œ„์˜ ์˜ˆ์‹œ์—์„œ๋Š” ๋‘ ๊ฐœ์˜ BigDecimal ์ธ์Šคํ„ด์Šค num1๊ณผ num2๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ด๋“ค์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’์ด ๊ฐ™์€์ง€ ํ™•์ธํ•˜๊ณ , ํฌ๊ธฐ๋ฅผ ๋น„๊ตํ•˜๋Š” ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋น„๊ต ๊ฒฐ๊ณผ๋Š” boolean ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋ณ€์ˆ˜์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

BigDecimal์€ ๋”์šฑ ๋ณต์žกํ•œ ์—ฐ์‚ฐ๋„ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์ด์™ธ์—๋„ ๋ฐ˜์˜ฌ๋ฆผ, ์†Œ์ˆ˜์  ์ดํ•˜ ์ž๋ฆฌ์ˆ˜ ์ง€์ • ๋“ฑ์˜ ๊ธฐ๋Šฅ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ํ•„์š”์— ๋”ฐ๋ผ BigDecimal์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ธ ๋ฒˆ์งธ ๋ฐ ๋งˆ์ง€๋ง‰ ์„น์…˜์—์„œ๋Š” BigDecimal์˜ ํฌ๋งทํŒ…๊ณผ ๋ฐ˜์˜ฌ๋ฆผ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

4. BigDecimal ๋น„๊ต

BigDecimal์€ ์ •ํ™•ํ•œ ๋น„๊ต๋ฅผ ์œ„ํ•ด equals ๋ฉ”์†Œ๋“œ์™€ compareTo ๋ฉ”์†Œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ์„น์…˜์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๋น„๊ต ๋ฉ”์†Œ๋“œ๋“ค์„ ์‚ฌ์šฉํ•˜์—ฌ BigDecimal ๊ฐ’์„ ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ’์˜ ๋™๋“ฑ ์—ฌ๋ถ€ ํ™•์ธํ•˜๊ธฐ

equals ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‘ ๊ฐœ์˜ BigDecimal ๊ฐ’์ด ๋™๋“ฑํ•œ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” equals ๋ฉ”์†Œ๋“œ์˜ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค:

BigDecimal num1 = new BigDecimal("10");
BigDecimal num2 = new BigDecimal("10");

boolean equal = num1.equals(num2); // true

์œ„์˜ ์˜ˆ์‹œ์—์„œ๋Š” ๋‘ ๊ฐœ์˜ BigDecimal ์ธ์Šคํ„ด์Šค num1๊ณผ num2๋ฅผ ์ƒ์„ฑํ•˜๊ณ , equals ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‘ ๊ฐ’์ด ๋™๋“ฑํ•œ์ง€ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋กœ true๊ฐ€ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.

๊ฐ’์˜ ํฌ๊ธฐ ๋น„๊ตํ•˜๊ธฐ

compareTo ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‘ ๊ฐœ์˜ BigDecimal ๊ฐ’์„ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. compareTo ๋ฉ”์†Œ๋“œ๋Š” ๋น„๊ต ๊ฒฐ๊ณผ๋ฅผ ์ •์ˆ˜๋กœ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ’์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค:

  • 0: ๊ฐ’์ด ๋™์ผํ•จ
  • ์–‘์ˆ˜: ๋น„๊ต ๋Œ€์ƒ ๊ฐ’๋ณด๋‹ค ํผ
  • ์Œ์ˆ˜: ๋น„๊ต ๋Œ€์ƒ ๊ฐ’๋ณด๋‹ค ์ž‘์Œ

์•„๋ž˜๋Š” compareTo ๋ฉ”์†Œ๋“œ์˜ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค:

BigDecimal num1 = new BigDecimal("10");
BigDecimal num2 = new BigDecimal("5");

int result = num1.compareTo(num2); // 1 (num1 > num2)

์œ„์˜ ์˜ˆ์‹œ์—์„œ๋Š” ๋‘ ๊ฐœ์˜ BigDecimal ์ธ์Šคํ„ด์Šค num1๊ณผ num2๋ฅผ ์ƒ์„ฑํ•˜๊ณ , compareTo ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‘ ๊ฐ’์˜ ํฌ๊ธฐ๋ฅผ ๋น„๊ตํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋กœ 1์ด ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.

BigDecimal์€ ์ •ํ™•ํ•œ ๋น„๊ต๋ฅผ ์œ„ํ•ด ์†Œ์ˆ˜์  ์ดํ•˜ ์ž๋ฆฌ์ˆ˜๊นŒ์ง€ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํฌ๊ธฐ๊ฐ€ ๊ฐ™์€ ์ •์ˆ˜ ๊ฐ’์ด๋ผ๋„ ์†Œ์ˆ˜์  ์ดํ•˜ ์ž๋ฆฌ์ˆ˜๊ฐ€ ๋‹ค๋ฅด๋ฉด ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.

์„ธ ๋ฒˆ์งธ ์„น์…˜์—์„œ๋Š” BigDecimal์˜ ์—ฐ์‚ฐ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

5. BigDecimal ํฌ๋งทํŒ…

BigDecimal์€ ๊ฐ’์„ ํฌ๋งทํŒ…ํ•˜๊ณ  ์†Œ์ˆ˜์  ์ดํ•˜ ์ž๋ฆฌ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ์„น์…˜์—์„œ๋Š” BigDecimal ๊ฐ’์„ ํฌ๋งทํŒ…ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

DecimalFormat ์‚ฌ์šฉํ•˜๊ธฐ

DecimalFormat ํด๋ž˜์Šค๋Š” ์ˆซ์ž ๊ฐ’์„ ๋‹ค์–‘ํ•œ ํ˜•์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. BigDecimal ๊ฐ’์„ ํฌ๋งทํŒ…ํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  1. DecimalFormat ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  2. ์›ํ•˜๋Š” ํ˜•์‹์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  3. format ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ BigDecimal ๊ฐ’์„ ํฌ๋งทํŒ…ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ DecimalFormat์„ ์‚ฌ์šฉํ•˜์—ฌ BigDecimal ๊ฐ’์„ ํฌ๋งทํŒ…ํ•˜๋Š” ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค:

import java.text.DecimalFormat;

BigDecimal number = new BigDecimal("123456.789");

DecimalFormat decimalFormat = new DecimalFormat("###,###.##");
String formattedNumber = decimalFormat.format(number); // "123,456.79"

์œ„์˜ ์˜ˆ์‹œ์—์„œ๋Š” BigDecimal ์ธ์Šคํ„ด์Šค number๋ฅผ ์ƒ์„ฑํ•˜๊ณ , DecimalFormat ์ธ์Šคํ„ด์Šค decimalFormat๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํ˜•์‹์„ ์ง€์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ํ›„ format ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ BigDecimal ๊ฐ’์„ ํฌ๋งทํŒ…ํ–ˆ์Šต๋‹ˆ๋‹ค. formattedNumber ๋ณ€์ˆ˜์—๋Š” "123,456.79"๋ผ๋Š” ํฌ๋งทํŒ…๋œ ๊ฐ’์ด ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

DecimalFormat์˜ ํ˜•์‹ ์ง€์ •์€ ๋‹ค์–‘ํ•œ ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Java DecimalFormat ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์„ธ ๋ฒˆ์งธ ์„น์…˜์—์„œ๋Š” BigDecimal์˜ ๋ฐ˜์˜ฌ๋ฆผ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋Œ“๊ธ€