Java で Double を Integer に変換する
Double 実数を指定します。 Java で指定された double 数値を整数 (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 データ型を整数 (int) データ型に変換するには、さまざまな方法があります。そのうちのいくつかを以下に挙げます。
- 使用する タイプキャスト
- 使用する Double.intValue() 方法
- 使用する Math.round() 方法
アプローチ 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() メソッドを使用する
この手法は型キャスト手法に似ています。 typecasting メソッドとこのメソッドの主な違いは、typecasting メソッドが明示的メソッドであるのに対し、このメソッドは Wrapper クラスである点です。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: を使用する Math.round() 方法
Math.round() double 値を受け入れ、その値に 0.5 を加えて小数点を切り捨てることで、最も近い long 値に変換します。次に、型キャストを使用して、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 に変換されます 11 Math.round() を使用する メソッドと 1 は次のように変換されます 10 型キャストまたは Double.intValue() メソッドを使用する 。