Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 코틀린
- FLUTTER
- Rxjava2
- dart
- android architecture component
- RxJava
- 안드로이드
- 프로그래머스
- 안드로이드 구글맵
- Java
- android push
- Django REST Android
- C/C++
- mfc
- 알고리즘
- NDK
- Django REST
- Python
- C++
- UWP
- flutter firestore
- livedata
- Android P
- Kotlin
- Android
- Django REST framework
- kodility
- RxAndroid
- C
- Flutter TextField
Archives
- Today
- Total
개발하는 두더지
[Effective Java 규칙48] 정확한 답이 필요하다면 float와 double은 피하라 본문
[Effective Java 규칙48] 정확한 답이 필요하다면 float와 double은 피하라
Effective Java 2/E 책과 구글링을 통해 내용을 정리하고 개인적인 견해가 포함된 글입니다.
float와 double은 기본적으로 과학 또는 엔지니어링 관련 계산에 쓰일 목적으로 설계된 자료형이다. 이 자료형들은 이진 부동 소수점 연산(binary floating-point arithmetic)을 수행하는데, 이것은 넓은 범위의 값에 대해 정확도가 높은 근사치를 제공할 수 있도록 세심하게 설계된 연산이다. 하지만 정확한 결과를 제공하지 않기 때문에 정확한 결과가 필요한 곳에는 사용하면 안된다. 특히 돈과 관계된 계산에는 적합하지 않다. 그러므로 돈 계산을 할 때는 BigDecimal, int, long 타입을 사용한다는 원칙을 지켜야 한다.
BigDeciaml은 올림(rounding) 연산을 어떻게 수행해야하는지 8개의 올림 모드를 설정할 수 있어서 프로그래머가 계산할 필요가 없다. 소수점 이하 처리를 시스템에서 알아서 해주지만, 기본 자료형보다 쓰기가 불편하고 느리다.
'Java,Android' 카테고리의 다른 글
[Effective Java 규칙51] 문자열 연결 시 성능에 주의하라 (0) | 2018.11.01 |
---|---|
Kotlin + ViewModel + LiveData를 이용한 Reactive Pattern 적용 (0) | 2018.10.31 |
[Effective Java 규칙47] 어떤 라이브러리가 있는지 파악하고, 활용하라 (0) | 2018.10.23 |
[Effective Java 규칙44] 모든 API 요소에 문서화 주석을 달아라 (0) | 2018.10.16 |
[Effective Java 규칙42] varargs는 신중히 사용하라 (0) | 2018.10.16 |
Comments