プリミティブfloatがあり、プリミティブdoubleが必要です。単純にフロートをダブルにキャストすると、奇妙な精度が得られます。例えば:
float temp = 14009.35F;
System.out.println(Float.toString(temp)); // Prints 14009.35
System.out.println(Double.toString((double)temp)); // Prints 14009.349609375
ただし、キャストする代わりに、floatを文字列として出力し、文字列をdoubleとして解析すると、必要なものが得られます。
System.out.println(Double.toString(Double.parseDouble(Float.toString(temp))));
// Prints 14009.35
文字列に戻って戻るよりも良い方法はありますか?