1. μμμ λ°μ¬λ¦Όμ΄λ?
μμμ λ°μ¬λ¦Όμ μ«μ κ°μ κ°κΉμ΄ μ μλ‘ κ·Όμ¬ννλ λ°©λ² μ€ νλμ λλ€. μμμ μ΄νμ μ리 μλ₯Ό μ‘°μ νμ¬, ν΄λΉ μ리 λ―Έλ§μ μ«μλ₯Ό λ°μ¬λ¦Όνκ³ , λ μ νν μλ₯Ό μ»κΈ° μν΄ κ°μ₯ κ°κΉμ΄ μ μλ‘ κ·Όμ¬ν©λλ€. μ΄λ μ»΄ν¨ν° νλ‘κ·Έλλ°μμ λ§€μ° μΌλ°μ μΌλ‘ μ¬μ©λλ μ°μ° μ€ νλμ΄λ©°, μ νν κ²°κ³Όκ° νμν κΈμ΅, κ³Όν, ν΅κ³ λΆμ λ±μ νΉν μ€μν μν μ ν©λλ€.
μΌλ°μ μΌλ‘ μμμ λ°μ¬λ¦Όμ λ€μν λ°©λ²μΌλ‘ μνλ μ μμ΅λλ€. μλ°μμλ μ΄λ¬ν λ°μ¬λ¦Ό κΈ°λ₯μ μ 곡νλ©°, λ€μν λ°©λ²μ νμ©νμ¬ μμμ nλ²μ§Έ μ리κΉμ§ λ°μ¬λ¦Όν μ μμ΅λλ€. μ΄μ μλ°μμ μμμ nλ²μ§Έ μ리κΉμ§ λ°μ¬λ¦Όνλ λ°©λ²μ λν΄ μμλ³΄κ² μ΅λλ€.
2. μλ°μμ μμμ nλ²μ§Έ μ리κΉμ§ λ°μ¬λ¦Όνλ λ°©λ²
μλ°μμ μμμ nλ²μ§Έ μ리κΉμ§ λ°μ¬λ¦Όνλ λ°©λ²μ λ€μν λ°©μμΌλ‘ ꡬνν μ μμ΅λλ€. κ°μ₯ μΌλ°μ μΈ λ°©λ²μΌλ‘λ Math ν΄λμ€μ round() λ©μλμ DecimalFormat ν΄λμ€λ₯Ό νμ©νλ λ°©λ²μ΄ μμ΅λλ€.
2.1 Math.round() λ©μλλ₯Ό νμ©ν λ°μ¬λ¦Ό
Math ν΄λμ€λ μλ°μμ μ 곡νλ κΈ°λ³Έ μνμ μΈ μ°μ°κ³Ό ν¨μλ₯Ό μ¬μ©ν μ μλ ν΄λμ€μ λλ€. round() λ©μλλ μμ κ°μ κ°μ₯ κ°κΉμ΄ μ μλ‘ λ°μ¬λ¦Όνλ κΈ°λ₯μ μ 곡ν©λλ€.
double number = 3.14159265359;
int n = 2; // λ°μ¬λ¦Όν μμμ μ리 μ
double roundedNumber = Math.round(number * Math.pow(10, n)) / Math.pow(10, n);
System.out.println(roundedNumber);
μ μ½λμμλ round() λ©μλλ₯Ό μ¬μ©νμ¬ μμ κ°μ κ°μ₯ κ°κΉμ΄ λλ²μ§Έ μ리κΉμ§ λ°μ¬λ¦Όνμμ΅λλ€. Math.pow() λ©μλλ₯Ό μ¬μ©νμ¬ μμ κ°μ 10μ nμΉμΌλ‘ κ³±ν΄μ€ λ€, round() λ©μλλ₯Ό ν΅ν΄ κ°μ₯ κ°κΉμ΄ μ μλ‘ λ°μ¬λ¦Όν λ€, λ€μ 10μ nμΉμΌλ‘ λλμ΄ μ£Όλ©΄ ν΄λΉ μ리κΉμ§ λ°μ¬λ¦Όλ κ°μ μ»μ μ μμ΅λλ€.
2.2 DecimalFormat ν΄λμ€λ₯Ό νμ©ν λ°μ¬λ¦Ό
DecimalFormat ν΄λμ€λ μ«μ νμμ μ§μ νμ¬ μνλ νμμΌλ‘ μ«μλ₯Ό νμν μ μλλ‘ λμμ£Όλ ν΄λμ€μ λλ€. λ°μ¬λ¦Όν μμμ μ리 μλ₯Ό μ§μ νμ¬ ν΄λΉ μ리κΉμ§ λ°μ¬λ¦Όλ κ°μ μ»μ μ μμ΅λλ€.
import java.text.DecimalFormat;
double number = 3.14159265359;
int n = 2; // λ°μ¬λ¦Όν μμμ μ리 μ
DecimalFormat decimalFormat = new DecimalFormat("#.##"); // μμμ λλ²μ§Έ μ리κΉμ§ νμ
String roundedNumber = decimalFormat.format(number);
System.out.println(roundedNumber);
μ μ½λμμλ DecimalFormat ν΄λμ€λ₯Ό μμ±νμ¬ "#.##" νμμΌλ‘ μμ κ°μ λ°μ¬λ¦Όνμμ΅λλ€. μ΄λ "#.##"λ μμμ λλ²μ§Έ μ리κΉμ§ νμνκ² λ€λ μλ―Έμ λλ€. format() λ©μλλ₯Ό μ¬μ©νμ¬ μμ κ°μ λ°μ¬λ¦Όλ νμμΌλ‘ λ¬Έμμ΄λ‘ λ°νν μ μμΌλ©°, κ²°κ³Όμ μΌλ‘ ν΄λΉ μ리κΉμ§ λ°μ¬λ¦Όλ κ°μ μ»μ μ μμ΅λλ€.
μ΄λ κ² μλ°μμλ Math.round() λ©μλμ DecimalFormat ν΄λμ€λ₯Ό νμ©νμ¬ μμμ nλ²μ§Έ μ리κΉμ§ λ°μ¬λ¦Όν μ μμ΅λλ€. λ€μ μ μμλ μμμ λ°μ¬λ¦Όμ μ§νν λ μ£Όμν΄μΌ ν μ κ³Ό νμ© μμμ λν΄ μμλ³΄κ² μ΅λλ€.
3. Math.round() λ©μλλ₯Ό νμ©ν λ°μ¬λ¦Ό
Math ν΄λμ€μ round() λ©μλλ μμ κ°μ κ°μ₯ κ°κΉμ΄ μ μλ‘ λ°μ¬λ¦Όνλ κΈ°λ₯μ μ 곡ν©λλ€. μμμ nλ²μ§Έ μ리κΉμ§ λ°μ¬λ¦ΌνκΈ° μν΄μλ Math.round() λ©μλλ₯Ό νμ©νμ¬ μΌμ ν κ³Όμ μ κ±°μ³μΌ ν©λλ€.
double number = 3.14159265359;
int n = 2; // λ°μ¬λ¦Όν μμμ μ리 μ
double roundedNumber = Math.round(number * Math.pow(10, n)) / Math.pow(10, n);
μ μ½λμμλ round() λ©μλλ₯Ό μ¬μ©νμ¬ μμ κ°μ κ°μ₯ κ°κΉμ΄ λ λ²μ§Έ μ리κΉμ§ λ°μ¬λ¦Όνμμ΅λλ€. μ΄λ₯Ό μν΄ λ€μκ³Ό κ°μ κ³Όμ μ μνν©λλ€.
- Math.pow() λ©μλλ₯Ό μ¬μ©νμ¬ μλ₯Ό 10μ nμΉμΌλ‘ μ κ³±ν©λλ€. μ¦,
Math.pow(10, n)
μ 10μ nμΉκ³Ό κ°μ΅λλ€. - μμ κ°μ
number * Math.pow(10, n)
μΌλ‘ nλ²μ§Έ μ리κΉμ§ μ΄λμν΅λλ€. - round() λ©μλλ₯Ό ν΅ν΄ μμ κ°μ κ°μ₯ κ°κΉμ΄ μ μλ‘ λ°μ¬λ¦Όν©λλ€.
- λ§μ§λ§μΌλ‘
Math.pow(10, n)
μΌλ‘ λλμ΄ μλ μμΉλ‘ λλ €λμ΅λλ€.
μ κ³Όμ μ ν΅ν΄ λ°μ¬λ¦Όλ κ°μ μ»μ μ μμ΅λλ€. μ΄λ λ°μ¬λ¦Όλ κ°μ double ννλ‘ λ°νλ©λλ€. λ§μ½ int ννλ‘ κ²°κ³Όλ₯Ό μ»κ³ μΆλ€λ©΄, roundedNumber λ³μμ μ μΈμ intλ‘ λ³κ²½νλ©΄ λ©λλ€.
Math.round() λ©μλλ₯Ό νμ©νμ¬ μμμ nλ²μ§Έ μ리κΉμ§ λ°μ¬λ¦Όμ ν μ μμΌλ©°, DecimalFormat ν΄λμ€μ κ°μ΄ μ¬μ©νλ©΄ λμ± μ νν κ²°κ³Όλ₯Ό μ»μ μ μμ΅λλ€.
4. DecimalFormat ν΄λμ€λ₯Ό νμ©ν λ°μ¬λ¦Ό
DecimalFormat ν΄λμ€λ μ«μ νμμ μ§μ νμ¬ μνλ νμμΌλ‘ μ«μλ₯Ό νμν μ μλλ‘ λμμ£Όλ ν΄λμ€μ λλ€. μ΄ ν΄λμ€λ₯Ό νμ©νμ¬ μμμ nλ²μ§Έ μ리κΉμ§ λ°μ¬λ¦Όνλ λ°©λ²μ λν΄ μμλ³΄κ² μ΅λλ€.
import java.text.DecimalFormat;
double number = 3.14159265359;
int n = 2; // λ°μ¬λ¦Όν μμμ μ리 μ
DecimalFormat decimalFormat = new DecimalFormat("#.##"); // μμμ λλ²μ§Έ μ리κΉμ§ νμ
String roundedNumber = decimalFormat.format(number);
μ μ½λμμλ DecimalFormat ν΄λμ€λ₯Ό μμ±νμ¬ "#.##" νμμΌλ‘ μμ κ°μ λ°μ¬λ¦Όνμμ΅λλ€. μ¬κΈ°μ "#.##"λ μμμ λ λ²μ§Έ μ리κΉμ§ νμνκ² λ€λ μλ―Έμ λλ€. μ΄λ κ² μμ κ°μ λ°μ¬λ¦Όλ νμμΌλ‘ λ¬Έμμ΄λ‘ λ°νν μ μμΌλ©°, κ²°κ³Όμ μΌλ‘ ν΄λΉ μ리κΉμ§ λ°μ¬λ¦Όλ κ°μ μ»μ μ μμ΅λλ€.
DecimalFormat ν΄λμ€λ₯Ό μ¬μ©νμ¬ μμ κ°μ λ°μ¬λ¦Όν λ μ£Όμν΄μΌ ν μ μ λ°νλλ κ°μ λ¬Έμμ΄λ‘ λ°μμΌ νλ€λ κ²μ λλ€. λ°λΌμ κ²°κ³Ό κ°μ μ«μλ‘ μ¬μ©ν΄μΌ νλ€λ©΄, λ°λμ λ¬Έμμ΄μ μ«μλ‘ λ³νν΄μΌ ν©λλ€.
double roundedNumber = Double.parseDouble(decimalFormat.format(number));
μμ κ°μ΄ λ¬Έμμ΄λ‘ λ°μ λ°μ¬λ¦Όλ κ°μ Double.parseDouble() λ©μλλ₯Ό μ¬μ©νμ¬ λ€μ μ«μλ‘ λ³νν μ μμ΅λλ€.
DecimalFormat ν΄λμ€λ₯Ό νμ©νμ¬ μμμ nλ²μ§Έ μ리κΉμ§ λ°μ¬λ¦Όνλ λ°©λ²μ Math.round() λ©μλμ ν¨κ» μ¬μ©λ μλ μμ΅λλ€. DecimalFormat ν΄λμ€λ λ³΄λ€ λ€μν νμμ μ§μ ν μ μμ΄, μνλ ννλ‘ μμ κ°μ νμνκ³ μ²λ¦¬ν μ μλ μ₯μ μ κ°μ§κ³ μμ΅λλ€.
5. μ£Όμν μ κ³Ό νμ© μμ
DecimalFormat ν΄λμ€λ₯Ό νμ©νμ¬ μμμ nλ²μ§Έ μ리κΉμ§ λ°μ¬λ¦Όνλ λ°©λ²μ μ¬μ©ν λ μ£Όμν΄μΌ ν μ κ³Ό μμλ₯Ό μμλ³΄κ² μ΅λλ€.
μ£Όμν μ
DecimalFormat νμ μ§μ λ¬Έμμ΄μ μμ±: DecimalFormat ν΄λμ€μμ νμμ μ§μ ν λ μ¬μ©νλ λ¬Έμμ΄ ν¨ν΄μ νΉμ κ·μΉμ λ°λΌμΌ ν©λλ€. μλ₯Ό λ€μ΄, μμμ nλ²μ§Έ μ리κΉμ§ λ°μ¬λ¦Όνκ³ μΆλ€λ©΄ "#.##"μ κ°μ νμμ μ¬μ©ν΄μΌ ν©λλ€. λ°λΌμ νμ μ§μ λ¬Έμμ΄μ μ¬λ°λ₯΄κ² μμ±ν΄μΌ μ νν κ²°κ³Όλ₯Ό μ»μ μ μμ΅λλ€.
λ¬Έμμ΄ ννμ λ°νκ°: DecimalFormat ν΄λμ€μ format() λ©μλλ μ«μ κ°μ λ¬Έμμ΄λ‘ λ°νν©λλ€. λ°λΌμ λ°μ¬λ¦Όλ κ°μ μ«μλ‘ μ¬μ©ν΄μΌ ν κ²½μ°, λ¬Έμμ΄μ λ€μ μ«μλ‘ λ³νν΄μΌ ν©λλ€. μ΄λ, parseDouble()κ³Ό κ°μ μ«μ λ³ν λ©μλλ₯Ό μ¬μ©ν μ μμ΅λλ€.
νμ© μμ
import java.text.DecimalFormat;
double number = 3.14159265359;
int n = 2; // λ°μ¬λ¦Όν μμμ μ리 μ
DecimalFormat decimalFormat = new DecimalFormat("#.##"); // μμμ λλ²μ§Έ μ리κΉμ§ νμ
String roundedNumberStr = decimalFormat.format(number);
double roundedNumber = Double.parseDouble(roundedNumberStr);
System.out.println("λ°μ¬λ¦Όλ κ° (λ¬Έμμ΄): " + roundedNumberStr);
System.out.println("λ°μ¬λ¦Όλ κ° (μ«μ): " + roundedNumber);
μ μμ μ½λλ μμ κ°μ DecimalFormat ν΄λμ€λ₯Ό μ¬μ©νμ¬ μμμ λ λ²μ§Έ μ리κΉμ§ λ°μ¬λ¦Όν ν, λ¬Έμμ΄κ³Ό μ«μ ννλ‘ νννλ λ°©λ²μ 보μ¬μ€λλ€. λ°μ¬λ¦Όλ κ°μ λ¬Έμμ΄λ‘ νμνκ³ , μ«μλ‘ μ¬μ©ν λλ parseDouble() λ©μλλ₯Ό μ¬μ©νμ¬ λ€μ μ«μλ‘ λ³νν ν μΆλ ₯ν©λλ€.
DecimalFormat ν΄λμ€λ₯Ό νμ©νμ¬ μμ κ°μ μνλ ννλ‘ νννκ³ μ²λ¦¬ν μ μμΌλ―λ‘, νΉμ ν νμμ΄ νμν κ²½μ° μ μ©νκ² μ¬μ©ν μ μμ΅λλ€.
μ£Όμν μ κ³Ό νμ© μμ
DecimalFormat ν΄λμ€λ₯Ό μ¬μ©νμ¬ μμμ nλ²μ§Έ μ리κΉμ§ λ°μ¬λ¦Όνλ λ°©λ²μ νμ©ν λ μ£Όμν΄μΌ ν μ κ³Ό ν¨κ» μμλ₯Ό μμλ³΄κ² μ΅λλ€.
μ£Όμν μ
DecimalFormat νμ μ§μ λ¬Έμμ΄ μμ±: μμ κ°μ μνλ νμμΌλ‘ νμνκΈ° μν΄μλ DecimalFormat ν΄λμ€μμ νμμ μ§μ νλ λ¬Έμμ΄ ν¨ν΄μ μμ±ν΄μΌ ν©λλ€. μλ₯Ό λ€μ΄, μμμ λ λ²μ§Έ μ리κΉμ§ λ°μ¬λ¦Όνκ³ μΆλ€λ©΄ "#.##"μ κ°μ νμμ μ¬μ©ν΄μΌ ν©λλ€. νμ μ§μ λ¬Έμμ΄μ μ¬λ°λ₯΄κ² μμ±νμ§ μμΌλ©΄ μνλ κ²°κ³Όλ₯Ό μ»μ μ μμ΅λλ€.
λ¬Έμμ΄ λ°νκ°: DecimalFormat ν΄λμ€μ format() λ©μλλ μ«μ κ°μ λ¬Έμμ΄λ‘ λ°νν©λλ€. λ°λΌμ λ°μ¬λ¦Όλ κ°μ μ«μλ‘ μ¬μ©ν΄μΌ ν κ²½μ°, λ¬Έμμ΄μ λ€μ μ«μλ‘ λ³νν΄μΌ ν©λλ€. μ΄λ₯Ό μν΄ parseDouble()κ³Ό κ°μ μ«μ λ³ν λ©μλλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ«μλ‘ λ³νν΄μΌ ν©λλ€.
νμ© μμ
import java.text.DecimalFormat;
double number = 3.14159265359;
int n = 2; // λ°μ¬λ¦Όν μμμ μ리 μ
DecimalFormat decimalFormat = new DecimalFormat("#.##"); // μμμ λ λ²μ§Έ μ리κΉμ§ νμ
String roundedNumberStr = decimalFormat.format(number);
double roundedNumber = Double.parseDouble(roundedNumberStr);
System.out.println("λ°μ¬λ¦Όλ κ° (λ¬Έμμ΄): " + roundedNumberStr);
System.out.println("λ°μ¬λ¦Όλ κ° (μ«μ): " + roundedNumber);
μ μμ μ½λλ DecimalFormat ν΄λμ€λ₯Ό μ¬μ©νμ¬ μμ κ°μ μμμ λ λ²μ§Έ μ리κΉμ§ λ°μ¬λ¦Όν ν, λ¬Έμμ΄κ³Ό μ«μ ννλ‘ νννλ λ°©λ²μ 보μ¬μ€λλ€. λ°μ¬λ¦Όλ κ°μ λ¬Έμμ΄λ‘ νμνκ³ , μ«μλ‘ μ¬μ©νκΈ° μν΄μλ parseDouble() λ©μλλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ λ€μ μ«μλ‘ λ³νν©λλ€. λ§μ§λ§μΌλ‘ λ°μ¬λ¦Όλ κ°μ μΆλ ₯ν©λλ€.
DecimalFormat ν΄λμ€λ₯Ό νμ©νμ¬ μνλ ννλ‘ μμ κ°μ νννκ³ μ²λ¦¬ν μ μμ΅λλ€. μνλ νμμ μ§μ ν μ μλ μ₯μ μ κ°μ§λ―λ‘, νΉμ ν ννλ‘ μ«μλ₯Ό νμν λ μ μ©νκ² μ¬μ©ν μ μμ΅λλ€.
μ£Όμν μ κ³Ό νμ© μμ
νμ νλͺ©μμλ DecimalFormat ν΄λμ€λ₯Ό μ¬μ©νμ¬ μμμ nλ²μ§Έ μ리κΉμ§ λ°μ¬λ¦Όνλ λ°©λ²μ μ¬μ©ν λ μ£Όμν΄μΌ ν μ κ³Ό νμ© μμλ₯Ό μμΈν μμλ³΄κ² μ΅λλ€.
μ£Όμν μ
1. DecimalFormat νμ μ§μ λ¬Έμμ΄μ μμ±
DecimalFormat ν΄λμ€λ₯Ό μ¬μ©νμ¬ νμμ μ§μ ν λλ νΉμ ν λ¬Έμμ΄ ν¨ν΄μ μ§μΌμΌ ν©λλ€. μλ₯Ό λ€μ΄, μμμ μ nλ²μ§Έ μ리κΉμ§ λ°μ¬λ¦Όνλ €λ©΄ #.##
κ³Ό κ°μ νμμ μ¬μ©ν΄μΌ ν©λλ€. νμ μ§μ λ¬Έμμ΄μ μ¬λ°λ₯΄κ² μμ±νμ§ μμΌλ©΄ μνλ κ²°κ³Όλ₯Ό μ»μ μ μμ΅λλ€.
2. λ¬Έμμ΄ ννμ λ°νκ°
DecimalFormat ν΄λμ€μ format() λ©μλλ μ«μ κ°μ λ¬Έμμ΄λ‘ λ°νν©λλ€. λ°λΌμ λ°μ¬λ¦Όλ κ°μ μ«μλ‘ μ¬μ©νλ €λ©΄ λ¬Έμμ΄μ λ€μ μ«μλ‘ λ³νν΄μΌ ν©λλ€. μ΄λ₯Ό μν΄ parseDouble()κ³Ό κ°μ μ«μ λ³ν λ©μλλ₯Ό μ¬μ©νλ©΄ λ©λλ€.
νμ© μμ
μλ μμ μ½λλ DecimalFormat ν΄λμ€λ₯Ό νμ©νμ¬ μμ κ°μ μ§μ λ νμμΌλ‘ λ°μ¬λ¦Όν ν λ¬Έμμ΄κ³Ό μ«μλ‘ λ€λ£¨λ λ°©λ²μ 보μ¬μ€λλ€.
import java.text.DecimalFormat;
double number = 3.14159265359;
int n = 2; // λ°μ¬λ¦Όν μμμ μ리 μ
DecimalFormat decimalFormat = new DecimalFormat("#.##"); // μμμ λ λ²μ§Έ μ리κΉμ§ νμ
String roundedNumberStr = decimalFormat.format(number);
double roundedNumber = Double.parseDouble(roundedNumberStr);
System.out.println("λ°μ¬λ¦Όλ κ° (λ¬Έμμ΄): " + roundedNumberStr);
System.out.println("λ°μ¬λ¦Όλ κ° (μ«μ): " + roundedNumber);
μ μ½λλ μμ κ°μ DecimalFormat ν΄λμ€λ₯Ό μ¬μ©νμ¬ μμμ λ λ²μ§Έ μ리κΉμ§ λ°μ¬λ¦Όν ν, λ¬Έμμ΄κ³Ό μ«μ ννλ‘ νννλ λ°©λ²μ 보μ¬μ€λλ€. λ°μ¬λ¦Όλ κ°μ λ¬Έμμ΄λ‘ νμνκ³ , μ«μλ‘ μ¬μ©ν λλ parseDouble() λ©μλλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ«μλ‘ λ³νν©λλ€. λ§μ§λ§μΌλ‘ λ°μ¬λ¦Όλ κ°μ μΆλ ₯ν©λλ€.
DecimalFormat ν΄λμ€λ₯Ό νμ©νμ¬ μμ κ°μ μνλ ννλ‘ νννκ³ μ²λ¦¬ν μ μμΌλ―λ‘, νΉμ ν νμμ΄ νμν κ²½μ° μ μ©νκ² μ¬μ©ν μ μμ΅λλ€.
λκΈ