質問: (float) (c+273.15); } ``` "c"が-273.1455のような値を取得すると、結果は0.0044のようにゼロに非常に近くなります。 しかし、値-273.15を得ると、ゼロの代わりにこれが得られます:6.1035157E-6 なぜこれが起こるのですか?
回答: 問題は値ではなく、ユーザーに表示されます。 私はあなたがそれを文字列に変換していると仮定しています。これが行われる方法は、 http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Double.html#toString(double ) To Display a correct value use the NumberFormat class http://docs.oracle.com/javase/1.4.2/docs/api/java/text/NumberFormat.html 例: ``` NumberFormat formater = NumberFormat.getNumberInstance() formatter.setMaximumFractionDigits(4); formater.format(myMethod(-273.15)) ``` 今度は0になるはずです。