728x90
π μ€μμ λ©λͺ¨λ¦¬ νν ?
- μ»΄ν¨ν°μ λ©λͺ¨λ¦¬λ 2μ§μ 체κ³λ₯Ό κΈ°λ°μΌλ‘ λ°μ΄ν°λ₯Ό μ μ₯.
- μ€μλ 2μ§μλ‘ ννν΄μΌνλκΉ λ³΅μ‘νκ² μ§.
- μ»΄ν¨ν°μμ μ€μλ₯Ό νννλ λ°©λ²
- κ³ μ μμμ λ°©μ
- λΆλ μμμ λ°©μ
π κ³ μ μμμ λ°©μ ?
- κ³ μ μμμ λ°©μμ λ©λͺ¨λ¦¬λ₯Ό μ μλΆ μ μμλΆ λ‘ κ³ μ ν΄μ λλκ³ μ§μ ν΄μ μ²λ¦¬νλ λ°©μ.
- κ³ μ μμμ λ°©μμ μμλΆμ μλ¦Ώμλ₯Ό 미리 μ ν΄λκ³ νννκΈ° λλ¬Έμ μ§κ΄μ μ.
- μμ) -1.25
- - : λΆνΈ λΉνΈ (λΆνΈλΉνΈ :: μμ/μμλ₯Ό νννκΈ° μν λΉνΈ. // 0:μμ, 1:μμλ‘ ν΅μΉ. )
- 1 : μ μλΆ
- .25 : μμλΆ
- μμμ 2μ리 κΉμ§ νν.
- μ₯μ : μ§κ΄μ .
- λ¨μ : νν κ°λ₯ λ²μκ° μ νμ μ. ( μμ£Ό μΉλͺ μ βοΈ)
π λΆλ μμμ λ°©μ ?
- ννν μ μλ κ°μ λ²μλ₯Ό μ΅λν λν μ€μ°¨λ₯Ό μ€μ΄λ λ°©μ.
- λΆλ μμμ λ°©μμ λ©λͺ¨λ¦¬λ₯Ό μ§μλΆ μ κ°μλΆ λ‘ λλ.
- μμ) 1.xxx * 2^n
- 1.xxx : κ°μ
- 2^n : μ§μ
π μμ
double value1 = 12.23;
double value2 = 34.45;
// κΈ°λκ° : 46.68
System.out.println(value1 + value2); // 46.68000000000001
- λΆλ μμμ λ°©μμΌλ‘ μΈν΄, μ νν κ°μ΄ λ¨μ΄μ§μ§ μκ² λλ€.
- μ°Έκ³ λ‘, μμμ 2μ리κΉμ§ ( μ¦, κ³ μ μμμ λ°©μ) λ‘ νκ² λλ€λ©΄, κ°μ 46.68λ‘ μ λμ€κ² λλ€. (λΉμ°νκ² μ§λ§.. π π ..)
π μ νν μμ κ³μ°λ²
- μ μλ‘ μΉνν΄μ κ³μ°
- μμ)
String str_val = "1.25";
double doub_val = Double.parseDouble(str_val); // String to Double
double min = doub_val - 1;
// result κ° :: 0.25
double result = Math.round(min*100)/100.0; // μμμ 2μ리κΉμ§.
// λλ λ κΌ! 100.0 μΌλ‘ λλ μ€μΌ μμλΆμ κ°μ΄ λμ€κ² λ¨.
- BigDecimal ν΄λμ€
- (μ΄κ±΄ μ λͺ¨λ₯΄κ² λ€..ππ.. λ€μ ν¬μ€ν μμ μ μ΄λ³΄λλ‘νμ...π)
μΆμ² : http://www.tcpschool.com/java/java_datatype_floatingPointNumber
https://inpa.tistory.com/entry/JAVA-β-μ€μ-ννλΆλ-μμμ -μ리-νλμ-μ΄ν΄νκΈ°
κ°λ° 곡λΆλ₯Ό μν λΈλ‘κ·Έ μ λλ€.
μ€λ₯κ° μλ€λ©΄ λκΈλ‘ μλ €μ£ΌμΈμ!
κ°μ¬ν©λλ€.

728x90
'JAVA' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JAVA] κΈμ κΉ¨μ§ λͺ¨μμΌλ‘ μΈμ½λ© λ³νμ νμ νλ λ² (0) | 2023.02.14 |
---|---|
[JAVA] λ¬Έμμ΄ λμ μ½€λ§ μ κ±°νκΈ° (0) | 2023.01.31 |
[JAVA] Unsupported major.minor version 52.0 (0) | 2022.12.30 |
[JAVA] IP μ 보 κ°μ Έμ€κΈ° (0) | 2022.12.06 |
[JAVA] Auto Commit λΉνμ±νλ‘ κ°μ μμΈ μ²λ¦¬ (0) | 2022.08.10 |