質問: 分数を使って華氏を摂氏に直すプログラミングを以下のように作りました。 public class FhrenheitToCelsius { public static void main(String[] args) { double FhrenheitToCelsius=98.6; double a=32; double b=5/9; double celsius=(FhrenheitToCelsius-a)*b; System.out.println(FhrenheitToCelsius + "F=" + celsius + "C"); } } コンパイルして実行してみたのですが、 98.6F=0.0C という結果が出てしまいます。 どうやら分数のところ(b=5/9)の部分がいけないようなのです。おそらく「5/9=0」と認識されているみたいです。 どうすればちゃんと0じゃないと認識させることができるのでしょうか? ご協力よろしくお願いいたします。
回答: 本当に分数を使うなら、Commons MathのFractionクラスを使用して、 Fraction b = new Fraction(5, 9); として、b.doubleValue()で値を取得するのかな。詳しくはJavadoc見てください。 http://commons.apache.org/math/apidocs/org/apache/commons/math/fraction/Fraction.html#Fraction(int,%20int)