Double 실수가 주어졌습니다. 주어진 double 숫자를 Java에서 정수(int)로 변환하는 Java 프로그램을 작성하십시오.
예:
Input: double = 3452.234 Output: 3452 Input: double = 98.23 Output: 98>
더블: double 데이터 유형은 배정밀도 64비트 IEEE 754 부동 소수점입니다. 그 가치 범위는 끝이 없습니다. double 데이터 유형은 일반적으로 float와 마찬가지로 10진수 값에 사용됩니다. 또한 통화와 같은 정확한 값에 double 데이터 유형을 사용해서는 안 됩니다. 그것은 기본값은 0.0입니다. .
Example: double d1 = 10.5>
정수: Integer 또는 int 데이터 유형은 32비트 부호 있는 2의 보수 정수입니다. 값 범위는 – 2,147,483,648(-2^31)에서 2,147,483,647(2^31 -1)(포함) 사이입니다. 최소값은 -2,147,483,648이고 최대값은 2,147,483,647입니다. 그것은 기본값은 0입니다. . 메모리에 문제가 없는 한 일반적으로 정수값의 기본 데이터 유형으로 int 데이터 유형을 사용합니다.
Example: int a = 10>
구혼
Double 데이터 유형을 Integer(int) 데이터 유형으로 변환하는 방법에는 여러 가지가 있습니다. 그 중 몇 가지가 아래에 나열되어 있습니다.
- 사용 타입캐스팅
- 사용 Double.intValue() 방법
- 사용 수학.라운드() 방법
접근법 1: 사용 타입캐스팅
이 기술은 매우 간단하고 사용자 친화적입니다.
통사론:
double data = 3452.345 int value = (int)data;>
예:
자바
메이븐 저장소
// Java program to convert Double to> // int using Typecasting> public> class> GFG {> >// main method> >public> static> void> main(String args[])> >{> >// Get the double value> >double> data =>3452.345>;> >System.out.println(>'Double - '> + data);> >// convert into int> >int> value = (>int>)data;> >// print the int value> >System.out.println(>'Integer - '> + value);> >}> }> |
>
>산출
Double - 3452.345 Integer - 3452>
시간 복잡도: O(1)은 상수 연산으로 사용됩니다.
보조 공간: O(1) 추가 공간이 필요하지 않기 때문입니다.
접근 방식 2: Double.intValue() 메서드 사용
이 기술은 타입캐스팅 방법과 유사합니다. 타입 캐스팅 방법과 이 방법의 주요 차이점은 타입 캐스팅 방법은 명시적 방법이고 이 방법은 래퍼 클래스 Double이며 소수점 이하의 모든 숫자를 자릅니다.
통사론:
double data = 3452.345 Double newData = new Double(data); int value = newData.intValue();>
예:
자바
// Java program to convert Double to int> // using Double.intValue()> public> class> GFG {> >// main method> >public> static> void> main(String args[])> >{> >// Get the double value> >Double data =>3452.345>;> >System.out.println(>'Double - '> + data);> >// Create a wrapper around> >// the double value> >Double newData =>new> Double(data);> >// convert into int> >int> value = newData.intValue();> >// print the int value> >System.out.println(>'Double - '> + value);> >}> }> |
>
>
산출:
Double - 3452.345 Double - 3452>
시간 복잡도: O(1)은 상수 연산으로 사용됩니다.
보조 공간: O(1) 추가 공간이 필요하지 않기 때문입니다.
접근법 3: 사용 수학.라운드() 방법
수학.라운드() double 값을 허용하고 값에 0.5를 더하고 소수점을 잘라서 가장 가까운 긴 값으로 변환합니다. 그런 다음 typecasting을 사용하여 long 값을 int로 변환할 수 있습니다.
통사론:
long Math.Round(Double doubleValue);>
예:
자바
// Java program to convert Double to int> // using Math.round()> public> class> GFG {> >// main method> >public> static> void> main(String args[])> >{> >// Get the double value> >double> data1 =>3452.345>;> >System.out.println(>'Double : '> + data1);> >// convert into int> >int> value1 = (>int>)Math.round(data1);> >// print the int value> >System.out.println(>'Integer : '> + value1);> > >double> data2 =>3452.765>;> >System.out.println(>'
Double : '> + data2);> >// convert into int> >int> value2 = (>int>)Math.round(data2);> >// print the int value> >System.out.println(>'Integer : '> + value2);> >}> }> |
>
>산출
Double : 3452.345 Integer : 3452 Double : 3452.765 Integer : 3453>
시간 복잡도: O(1)은 상수 연산으로 사용됩니다.
보조 공간: O(1) 추가 공간이 필요하지 않기 때문입니다.
메모: 여기서는 Math.round() 메서드가 숫자를 가장 가까운 정수로 반올림하여 double을 정수로 변환하는 것을 볼 수 있습니다.
예를 들어 - 10.6 로 변환됩니다 Math.round()를 사용하는 11 메소드와 1은 다음으로 변환됩니다. 10 typecasting 또는 Double.intValue() 메소드 사용 .