Responsive Advertisement

Java์—์„œ ์ˆซ์ž ์ถœ๋ ฅํ•˜๊ธฐ: ๋‹ค์–‘ํ•œ ์ˆซ์ž ํฌ๋งท๊ณผ ์ถœ๋ ฅ ๋ฐฉ๋ฒ•

Java์—์„œ ์ˆซ์ž๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์€ ๋‹จ์ˆœํ•œ ๊ฐ’ ์ถœ๋ ฅ์—์„œ๋ถ€ํ„ฐ ํ˜•์‹ํ™”๋œ ์ˆซ์ž ํ‘œํ˜„๊นŒ์ง€ ๋‹ค์–‘ํ•˜๊ฒŒ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ˆซ์ž๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ •์ˆ˜, ์‹ค์ˆ˜, ๊ทธ๋ฆฌ๊ณ  ์„œ์‹ํ™”๋œ ๋ฌธ์ž์—ด๋กœ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์†Œ์ˆ˜์  ์ž๋ฆฌ์ˆ˜ ์กฐ์ ˆ, ์ฒœ ๋‹จ์œ„ ๊ตฌ๋ถ„, ํ˜•์‹ ์ง€์ • ๋“ฑ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Java์—์„œ ์ˆซ์ž๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ํ•จ๊ป˜ ์ˆซ์ž ํฌ๋งท์„ ์กฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์ˆซ์ž ์ถœ๋ ฅ: System.out.print์™€ println

Java์—์„œ ์ˆซ์ž๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์€ System.out.print์™€ System.out.println์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋ฉ”์„œ๋“œ๋Š” ์ˆซ์ž ํƒ€์ž…์„ ๊ฐ€๋ฆฌ์ง€ ์•Š๊ณ  ๋ชจ๋“  ์ˆซ์ž๋ฅผ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•ด์ค๋‹ˆ๋‹ค.

์˜ˆ์ œ ์ฝ”๋“œ

public class BasicPrintExample {
    public static void main(String[] args) {
        int intNumber = 100;
        double doubleNumber = 3.14159;

        System.out.print("์ •์ˆ˜ ์ถœ๋ ฅ: ");
        System.out.println(intNumber);

        System.out.print("์‹ค์ˆ˜ ์ถœ๋ ฅ: ");
        System.out.println(doubleNumber);
    }
}

์ถœ๋ ฅ ๊ฒฐ๊ณผ:

์ •์ˆ˜ ์ถœ๋ ฅ: 100
์‹ค์ˆ˜ ์ถœ๋ ฅ: 3.14159

์œ„ ์ฝ”๋“œ์—์„œ๋Š” ์ •์ˆ˜์™€ ์‹ค์ˆ˜๋ฅผ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ˆซ์ž ํ˜•์‹ ์ง€์ •: System.out.printf

Java์—์„œ๋Š” System.out.printf ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆซ์ž ์ถœ๋ ฅ์„ ํ˜•์‹ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. printf๋Š” ํ˜•์‹ ๋ฌธ์ž์—ด์„ ์‚ฌ์šฉํ•˜์—ฌ ์†Œ์ˆ˜์  ์ž๋ฆฌ์ˆ˜, ์ •๋ ฌ ๋ฐฉ์‹ ๋“ฑ์„ ์ง€์ •ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ํ˜•์‹ ์ง€์ •์ž

  • %d: ์ •์ˆ˜ ์ถœ๋ ฅ
  • %f: ์‹ค์ˆ˜ ์ถœ๋ ฅ (๊ธฐ๋ณธ์ ์œผ๋กœ ์†Œ์ˆ˜์  ์ดํ•˜ 6์ž๋ฆฌ)
  • %.nf: ์†Œ์ˆ˜์  ์ดํ•˜ n์ž๋ฆฌ๊นŒ์ง€ ์‹ค์ˆ˜ ์ถœ๋ ฅ

์˜ˆ์ œ ์ฝ”๋“œ

public class PrintfExample {
    public static void main(String[] args) {
        int number = 1234;
        double pi = 3.14159265359;

        System.out.printf("์ •์ˆ˜ ์ถœ๋ ฅ: %d%n", number);
        System.out.printf("์†Œ์ˆ˜์  ์ดํ•˜ 2์ž๋ฆฌ ์‹ค์ˆ˜ ์ถœ๋ ฅ: %.2f%n", pi);
        System.out.printf("์†Œ์ˆ˜์  ์ดํ•˜ 4์ž๋ฆฌ ์‹ค์ˆ˜ ์ถœ๋ ฅ: %.4f%n", pi);
    }
}

์ถœ๋ ฅ ๊ฒฐ๊ณผ:

์ •์ˆ˜ ์ถœ๋ ฅ: 1234
์†Œ์ˆ˜์  ์ดํ•˜ 2์ž๋ฆฌ ์‹ค์ˆ˜ ์ถœ๋ ฅ: 3.14
์†Œ์ˆ˜์  ์ดํ•˜ 4์ž๋ฆฌ ์‹ค์ˆ˜ ์ถœ๋ ฅ: 3.1416

printf๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์†Œ์ˆ˜์  ์ž๋ฆฌ์ˆ˜๋ฅผ ์กฐ์ •ํ•˜๊ฑฐ๋‚˜ ์ •์ˆ˜๋ฅผ ์›ํ•˜๋Š” ํ˜•์‹์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DecimalFormat์„ ์ด์šฉํ•œ ์ˆซ์ž ํฌ๋งท ์ง€์ •

DecimalFormat ํด๋ž˜์Šค๋Š” ์ˆซ์ž๋ฅผ ํ˜•์‹ํ™”๋œ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ, ์ฒœ ๋‹จ์œ„ ๊ตฌ๋ถ„ ๊ธฐํ˜ธ ์ถ”๊ฐ€, ์†Œ์ˆ˜์  ์ž๋ฆฌ์ˆ˜ ์กฐ์ • ๋“ฑ์— ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

DecimalFormat ์‚ฌ์šฉ ์˜ˆ์‹œ

import java.text.DecimalFormat;

public class DecimalFormatExample {
    public static void main(String[] args) {
        double salary = 1234567.89;

        DecimalFormat formatter = new DecimalFormat("#,###.00");
        System.out.println("ํ˜•์‹ํ™”๋œ ์ˆซ์ž ์ถœ๋ ฅ: " + formatter.format(salary));
    }
}

์ถœ๋ ฅ ๊ฒฐ๊ณผ:

ํ˜•์‹ํ™”๋œ ์ˆซ์ž ์ถœ๋ ฅ: 1,234,567.89

์œ„ ์ฝ”๋“œ์—์„œ๋Š” #,###.00 ํ˜•์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฒœ ๋‹จ์œ„ ๊ตฌ๋ถ„ ๊ธฐํ˜ธ์™€ ์†Œ์ˆ˜์  ๋‘˜์งธ ์ž๋ฆฌ๊นŒ์ง€์˜ ์ˆซ์ž ํฌ๋งท์„ ์ง€์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

String.format์„ ์ด์šฉํ•œ ์ˆซ์ž ํฌ๋งทํŒ…

String.format ๋ฉ”์„œ๋“œ๋Š” printf์™€ ์œ ์‚ฌํ•œ ๋ฐฉ์‹์œผ๋กœ ํ˜•์‹์„ ์ง€์ •ํ•˜์—ฌ ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์†Œ์ˆ˜์  ์ž๋ฆฌ์ˆ˜๋ฅผ ์ œ์–ดํ•˜๊ฑฐ๋‚˜ ์ˆซ์ž๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์ œ ์ฝ”๋“œ

public class StringFormatExample {
    public static void main(String[] args) {
        double num = 123.45678;

        String formatted = String.format("์†Œ์ˆ˜์  ์ดํ•˜ 2์ž๋ฆฌ: %.2f", num);
        System.out.println(formatted);
    }
}

์ถœ๋ ฅ ๊ฒฐ๊ณผ:

์†Œ์ˆ˜์  ์ดํ•˜ 2์ž๋ฆฌ: 123.46

String.format์€ printf์™€ ๋น„์Šทํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜์ง€๋งŒ, ์ถœ๋ ฅ๋œ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์–ด ๋ฌธ์ž์—ด ์กฐ์ž‘์ด ํ•„์š”ํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

NumberFormat์„ ์ด์šฉํ•œ ํ†ตํ™” ๋ฐ ํผ์„ผํŠธ ํ˜•์‹

NumberFormat ํด๋ž˜์Šค๋Š” ํ†ตํ™”์™€ ํผ์„ผํŠธ ํ˜•์‹์„ ์ง€์ •ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. NumberFormat์€ ์ง€์—ญํ™” ์ง€์›์„ ํ†ตํ•ด ํ†ตํ™” ๊ธฐํ˜ธ์™€ ํผ์„ผํŠธ ๊ธฐํ˜ธ๋ฅผ ์ž๋™์œผ๋กœ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํ†ตํ™” ํ˜•์‹ ์˜ˆ์ œ

import java.text.NumberFormat;

public class CurrencyFormatExample {
    public static void main(String[] args) {
        double money = 1500.75;

        NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance();
        System.out.println("ํ†ตํ™” ํ˜•์‹: " + currencyFormatter.format(money));
    }
}

์ถœ๋ ฅ ๊ฒฐ๊ณผ:

ํ†ตํ™” ํ˜•์‹: $1,500.75  (์ง€์—ญ์— ๋”ฐ๋ผ ๊ธฐํ˜ธ๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Œ)

์œ„ ์ฝ”๋“œ์—์„œ๋Š” NumberFormat.getCurrencyInstance()๋ฅผ ์‚ฌ์šฉํ•ด ์ง€์—ญ์— ๋งž๋Š” ํ†ตํ™” ๊ธฐํ˜ธ์™€ ํ•จ๊ป˜ ๊ธˆ์•ก์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

ํผ์„ผํŠธ ํ˜•์‹ ์˜ˆ์ œ

public class PercentFormatExample {
    public static void main(String[] args) {
        double percentage = 0.85;

        NumberFormat percentFormatter = NumberFormat.getPercentInstance();
        System.out.println("ํผ์„ผํŠธ ํ˜•์‹: " + percentFormatter.format(percentage));
    }
}

์ถœ๋ ฅ ๊ฒฐ๊ณผ:

ํผ์„ผํŠธ ํ˜•์‹: 85%

์ด ์ฝ”๋“œ๋Š” NumberFormat.getPercentInstance()๋ฅผ ํ†ตํ•ด ์†Œ์ˆ˜์  ์ดํ•˜ ๊ฐ’์„ ์ž๋™์œผ๋กœ ํผ์„ผํŠธ ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์–‘ํ•œ ์ˆซ์ž ํฌ๋งท ์กฐํ•ฉ ์˜ˆ์ œ

์ง€๊ธˆ๊นŒ์ง€ ์‚ดํŽด๋ณธ ๋‹ค์–‘ํ•œ ์ˆซ์ž ์ถœ๋ ฅ ๋ฐฉ๋ฒ•์„ ์กฐํ•ฉํ•˜์—ฌ ๋ณด๋‹ค ๋ณต์žกํ•œ ์ถœ๋ ฅ ํ˜•์‹์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ์˜ˆ์ œ์—์„œ๋Š” ํ†ตํ™”, ํผ์„ผํŠธ, ์ผ๋ฐ˜ ์ˆซ์ž ํ˜•์‹์„ ํ•จ๊ป˜ ์ถœ๋ ฅํ•ด ๋ด…๋‹ˆ๋‹ค.

import java.text.DecimalFormat;
import java.text.NumberFormat;

public class CombinedFormatExample {
    public static void main(String[] args) {
        double salary = 55000.5;
        double growthRate = 0.073;
        double sales = 1234567.89;

        NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance();
        NumberFormat percentFormatter = NumberFormat.getPercentInstance();
        DecimalFormat salesFormatter = new DecimalFormat("#,###.00");

        System.out.println("์›”๊ธ‰: " + currencyFormatter.format(salary));
        System.out.println("์„ฑ์žฅ๋ฅ : " + percentFormatter.format(growthRate));
        System.out.println("๋งค์ถœ: " + salesFormatter.format(sales));
    }
}

์ถœ๋ ฅ ๊ฒฐ๊ณผ:

์›”๊ธ‰: $55,000.50
์„ฑ์žฅ๋ฅ : 7%
๋งค์ถœ: 1,234,567.89

์ด ์˜ˆ์ œ์—์„œ๋Š” NumberFormat๊ณผ DecimalFormat์„ ์กฐํ•ฉํ•˜์—ฌ ํ†ตํ™”, ํผ์„ผํŠธ, ์ฒœ ๋‹จ์œ„ ๊ตฌ๋ถ„ ํ˜•์‹์„ ๊ฐ๊ฐ ์ง€์ •ํ•˜์—ฌ ์ถœ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

Java์—์„œ ์ˆซ์ž๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค. System.out.print, System.out.printf, DecimalFormat, NumberFormat ๋“ฑ์„ ํ†ตํ•ด ์ •์ˆ˜์™€ ์‹ค์ˆ˜๋ฅผ ์†์‰ฝ๊ฒŒ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์†Œ์ˆ˜์  ์ž๋ฆฌ์ˆ˜ ์กฐ์ •, ์ฒœ ๋‹จ์œ„ ๊ตฌ๋ถ„, ํ†ตํ™” ๋ฐ ํผ์„ผํŠธ ํ˜•์‹ ๋“ฑ ๋‹ค์–‘ํ•œ ํฌ๋งท์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Java์˜ ๋‹ค์–‘ํ•œ ์ˆซ์ž ์ถœ๋ ฅ ๋ฐฉ๋ฒ•์„ ํ™œ์šฉํ•ด ๊น”๋”ํ•˜๊ณ  ๊ฐ€๋…์„ฑ ์ข‹์€ ์ถœ๋ ฅ์„ ๊ตฌํ˜„ํ•ด ๋ณด์„ธ์š”!

๋Œ“๊ธ€ ์“ฐ๊ธฐ