53

double値を次のように変換する方法int:

Double If x = 4.97542. Convert to int x = 4.

Double If x = 4.23544. Convert to int x = 4.

つまり、答えは常に切り捨てです。

4

5 に答える 5

104

に明示的にキャスト doubleするintと、小数部分が切り捨てられます。例えば:

int x = (int) 4.97542;   //gives 4 only
int x = (int) 4.23544;   //gives 4 only

さらに、戻り値Math.floor()が必要な場合は、メソッドを使用して値を丸めることもできますdouble

于 2012-04-23T12:29:45.927 に答える
31

double がDouble大文字のD (ボックス化されたプリミティブ値) の場合:

Double d = 4.97542;
int i = (int) d.doubleValue();

// or directly:
int i2 = d.intValue();

double が既にプリミティブdoubleである場合は、単純にキャストします。

double d = 4.97542;
int i = (int) d;
于 2012-04-23T12:34:59.920 に答える
5
double myDouble = 420.5;
//Type cast double to int
int i = (int)myDouble;
System.out.println(i);

double 値は 420.5 で、アプリケーションは整数値 420 を出力します。

于 2012-04-23T12:32:02.077 に答える
0

特に二重データ型の並べ替えの場合、より良い出力が得られたと思います。

この質問は回答済みとマークされていますが、おそらくこれは他の誰かを助けるでしょう。

Arrays.sort(newTag, new Comparator<String[]>() {
         @Override
         public int compare(final String[] entry1, final String[] entry2) {
              final Integer time1 = (int)Integer.valueOf((int) Double.parseDouble(entry1[2]));
              final Integer time2 = (int)Integer.valueOf((int) Double.parseDouble(entry2[2]));
              return time1.compareTo(time2);
         }
    });
于 2015-11-07T21:29:29.717 に答える