double
値をint
に変換する方法は次のとおりです。
Double If x = 4.97542. Convert to int x = 4.
Double If x = 4.23544. Convert to int x = 4.
つまり、答えは常に切り捨てられます。
明示的にcastdouble
からint
にすると、小数部分は切り捨てられます。例えば:
int x = (int) 4.97542; //gives 4 only
int x = (int) 4.23544; //gives 4 only
さらに、double
値を返したい場合に、Math.floor()
メソッドを使用して値を丸めることもできます。
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;
double myDouble = 420.5;
//Type cast double to int
int i = (int)myDouble;
System.out.println(i);
Double値は420.5で、アプリケーションは420の整数値を出力します
Double
またはdouble
を使用する別のオプションは、Double.valueOf(double d).intValue();
を使用することです。シンプルできれい
特にダブルデータ型の並べ替えの場合、出力が向上したと思います。
この質問には回答済みのマークが付けられていますが、おそらく他の誰かの助けになるでしょう。
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);
}
});