본문 바로가기
잡담/궁금증 해결

지수 표현 제거(JAVA)

by lms0806 2024. 9. 29.
728x90
반응형

java에서 float나 double로 소수점이 긴~ 숫자를 표현하고자 하면 8.0E-9 와 같이 표현이 됩니다.

이런 경우, 프론트에서 해당 값을 가져와 표현해줄 때, 지수 표현을 제거해야 하는 경우가 발생할 수 있습니다.

실수값을 지수표현을 제거하여 표현하는 방법이 뭐가 있을까 하면서 시도해본 내용에 대해 공유드리고자 합니다.

 

float로 표현

System.out.print((float)(0.000000008));

8.0E-9

 

double로 표현

System.out.print((double)(0.000000008));

8.0E-9

 

bigdecimal로 표현

System.out.print(BigDecimal.valueOf(0.000000008));

8.0E-9

 

 

bigdecimal.toString()로 표현

System.out.print(BigDecimal.valueOf(0.000000008).toString());

8.0E-9

 

bigdecimal.toPlainString()로 표현

System.out.print(BigDecimal.valueOf(0.000000008).toPlainString());

0.0000000080

 

BigDecimal의 toString()은 값을 있는 그대로 표현하고, toPlainString()은 지수표현을 제거해서 표현해준다.

 

https://github.com/openjdk/jdk/blob/73ebb848fdb66861e912ea747c039ddd1f7a5f48/src/java.base/share/classes/java/math/BigDecimal.java#L3493

 

jdk/src/java.base/share/classes/java/math/BigDecimal.java at 73ebb848fdb66861e912ea747c039ddd1f7a5f48 · openjdk/jdk

JDK main-line development https://openjdk.org/projects/jdk - openjdk/jdk

github.com

 

728x90
반응형

'잡담 > 궁금증 해결' 카테고리의 다른 글

divide zero  (0) 2024.10.27
jar 파일에 한글 입력하기 (feat. PHP, JAVA)  (0) 2024.09.09
시간 측정 테스트시 주의할 점  (0) 2024.09.02
heap vs TreeMap<key, list>  (0) 2024.05.19
Map<String, List<String>> 관련 clear()  (0) 2024.02.26

댓글