4

同じ2倍(2乗)を掛けようとしていますが、数値が間違っています。ダブルを単独で表示すると数値は正しいのですが、それを単独で乗算すると間違った数値になります。すでにmath.pow関数を使用してみましたが、同じ結果が得られました。

    Double height=Double.parseDouble(myPrefs.getString("Heightent",""))*.0254;
    Double bmi = (height*height);
    dbmi.setText(bmi.toString());

高さは、インチ単位で別のアクティビティに入力されます。テキストボックスに高さを表示すると、正しい数値になります。たとえば、入力された高さは74で、テキストビューに高さを入力すると1.8796が表示されます。しかし、上記のコードを使用すると、16という数字がTextViewdbmiに表示されます。何か助けはありますか?

4

2 に答える 2

3

StephenCによるこの素晴らしい投稿をチェックしてください。

https://stackoverflow.com/a/5385202/1214163

それはあなたが必要とするすべてを提供するはずです。彼は、あなたが大きな数で働く必要があるならば、あなたがBigDecimalクラスを使うことを提案します

于 2012-06-15T12:23:08.777 に答える
1

私は両方を試しました

    Double height=Double.parseDouble("74")*.0254;
    Double bmi = (height*height);
    System.out.println("first " + bmi);


      height=Double.parseDouble("74");
      double temp = height.doubleValue()*.0254;
      bmi = (temp*temp);
      System.out.println("Second " + bmi);

Calcで

そしてどこでも同じになりました..... ここに画像の説明を入力してください

于 2012-06-15T12:39:34.590 に答える