Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- error
- rubymine
- react
- IntelliJ
- ruby2d
- boj
- ruby
- Android
- plugin
- Java
- kotlin
- C
- gradle
- 루비
- maven
- Shell
- gnuplot
- 개발노트
- jetbrains
- OAuth
- JS
- Spring
- GitHub
- OTLanguage
- Vane
- Baekjoon
- Python
- Godot
- CPP
- RaspberryPi
Archives
- Today
- Total
PersesTitan(페르) 기술블로그
[Java] Double값이 정수인지 확인하기 본문
나머지 이용
1로 나누고 나머지가 존재한다면 소수점값이 있다는 의미이므로 해당 원리를 이용하여 값이 정수값인지 확인할 수 있습니다.
코드
public boolean isInteger(double num) {
return num % 1 == 0.0;
}
정수 변환
값이 정수라면 정수형으로 변환하더라도 값이 같다는 원리를 이용한 방법입니다.
코드
public boolean isInteger(double num) {
return num == (int) num;
}
소수점 버림 이용
소수점 버림, 올림, 반올림 무엇을 사용해도 상관 없습니다.
해당 동작후 원래 값과 일치하는 여부로 해당 값이 정수인지 확인합니다.
코드
public boolean isInteger(double num) {
return Math.floor(num) == num;
}
DoubleMath
해당 클래스는 의존성을 추가해주어야합니다.
의존성을 추가해주면 DoubleMath
이라는 클래스를 사용할 수 있게 됩니다.
해당 클래스의 isMathematicalInteger
메소드를 사용하면 정수인지 확인할 수 있습니다.
Maven
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava-parent</artifactId>
<version>31.1-jre</version>
<type>pom</type>
</dependency>
Gradle
implementation 'com.google.guava:guava:31.1-jre'
코드
public boolean isInteger(double num) {
return DoubleMath.isMathematicalInteger(num);
}
예제
코드
System.out.println(isInteger(1.0));
System.out.println(isInteger(83.0));
System.out.println(isInteger(0.0));
System.out.println(isInteger(1.24));
System.out.println(isInteger(0.345));
출력
true
true
true
false
false
'Language > Java' 카테고리의 다른 글
[Java] IllegalAccessException (0) | 2023.03.12 |
---|---|
[Java] InstantiationException (0) | 2023.03.12 |
[Java][BigDecimal] RoundingMode 올림, 반올림, 내림 구현하기 (0) | 2023.01.21 |
[Java] 한글 에디터 개발 (뷁어, 모음자음 분리, 영어 발음 한글로 변경 등) (0) | 2022.11.27 |
[GuguClass]구구클래스 한줄로 구현해보기 (0) | 2022.11.24 |