๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

Java์—์„œ ์ˆซ์ž๋ฅผ ํ™”๋ฉด์— ํ‘œ์‹œํ•  ๋•Œ, ์ฒœ ๋‹จ์œ„ ์ฝค๋งˆ(,)๋‚˜ ์†Œ์ˆ˜์  ์ž๋ฆฌ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด
java.text.DecimalFormat ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด,

  • 123456 → 123,456 (์ฒœ ๋‹จ์œ„ ์ฝค๋งˆ)
  • 123456.7 → 123,456.7 (์ฒœ ๋‹จ์œ„ ์ฝค๋งˆ + ์†Œ์ˆ˜ 1์ž๋ฆฌ)
    ์ด๋ ‡๊ฒŒ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
import java.text.DecimalFormat;

public class NumberFormatExample {
    public static void main(String[] args) {
        int number1 = 123456;
        double number2 = 123456.789;

        // ์†Œ์ˆ˜์  ์—†์Œ + ์ฒœ๋‹จ์œ„ ์ฝค๋งˆ
        DecimalFormat df0 = new DecimalFormat(",##0");

        // ์†Œ์ˆ˜์  1์ž๋ฆฌ + ์ฒœ๋‹จ์œ„ ์ฝค๋งˆ
        DecimalFormat df1 = new DecimalFormat(",##0.0");

        System.out.println(df0.format(number1)); // ์ถœ๋ ฅ: 123,456
        System.out.println(df1.format(number2)); // ์ถœ๋ ฅ: 123,456.8
    }
}

ํŒจํ„ด ์„ค๋ช…

DecimalFormat์˜ ํŒจํ„ด ๋ฌธ์ž์—ด์€ ์ด๋ ‡๊ฒŒ ํ•ด์„๋ฉ๋‹ˆ๋‹ค.

ํŒจํ„ด ์„ค๋ช…
0 ์ˆซ์ž๊ฐ€ ์—†์„ ๊ฒฝ์šฐ 0์œผ๋กœ ์ฑ„์›€
# ์ˆซ์ž๊ฐ€ ์—†์œผ๋ฉด ํ‘œ์‹œํ•˜์ง€ ์•Š์Œ
, ์ฒœ ๋‹จ์œ„ ๊ตฌ๋ถ„์ž
. ์†Œ์ˆ˜์  ๊ตฌ๋ถ„์ž

 

์ฃผ์˜์‚ฌํ•ญ

  • DecimalFormat์€ ๋ฌธ์ž์—ด ๋ณ€ํ™˜์šฉ์ž…๋‹ˆ๋‹ค. ํฌ๋งทํŒ… ํ›„ ๊ฐ’์€ String์ด ๋˜๋ฏ€๋กœ, ๋‹ค์‹œ ๊ณ„์‚ฐํ•˜๋ ค๋ฉด ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค๊ตญ์–ด/ํ†ตํ™” ๋‹จ์œ„ ์ฒ˜๋ฆฌ๋Š” NumberFormat.getCurrencyInstance(Locale) ๊ฐ™์€ ๋ฉ”์„œ๋“œ๋กœ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

๋ฐ˜์‘ํ˜•