2011-01-08 7 views
2

私はこの質問をするのは恥ずかしいですが、解決策が見つからない45分後に私は公的屈辱に訴えます。ダブルで0を表示アンドロイド

私は別の番号で分けられている番号を持っており、その番号を二重変数に格納しています。数字はランダムに生成されますが、アプリをデバッグすると、両方の数字が実際に生成されていることがわかります。

ちょうど私が、その後の数字を取ると、私は、変数をプリントアウトし、それは常に私が0に設定されています割合733分の476 = 0.64

を得るためにそれらを分割番号は476 & 733であると言うことができますDecimalFormatとNumberFormatを使ってみました。どんなに私が試しても、それは常に変数が0であると言います。私は行方不明の単純なものがあることを知っています。

答えて

10

は、私はあなたがこのような何かをしようとしていることを想像:

int x = 476; 
int y = 733; 
double result = x/y;  // result == 0 

ここでの問題は、あなたが答え0を与える整数の除算を行い、その後、その後、二重に結果を変換することです。を分割する前に、数値の一方または両方を浮動小数点に変換する必要があります。ここではそれを行うための一つの方法です:

int x = 476; 
int y = 733; 
double result = ((double)x)/y; 
+0

あなたはそれを釘付けにしました。私はダブルスの代わりに2つのintを使用していました。私はそれが私が見ていたシンプルなものだと分かっていました。ありがとう! – Dave

+0

OMG。大変ありがとう!私はこれに非常に苦労していた。奇妙なことに、私は1.5と同じアプリを実行する場合、それは問題を引き起こしませんでした。しかし、2.2で同じコードを実行した。 Wierd、hu !! –

0

私は分断されている2つの数値は、「ダブル」タイプですね?

デバッグモードを使用して分割結果を確認しましたか?

関連する問題