-1

2 つの数値を加算すると、Android プログラムで非常に奇妙な結果が得られます。これは、何が起こっているかを調べるために使用しているテスト コードです。

private static final float yChannel[] = {12.0f, 8.0f, 4.0f, 0};

protected void onCreate(Bundle savedInstanceState) {
    Log.i("Rectangles","y1: " + yChannel[0]+2.0f);
    Log.i("Rectangles","y2: " + yChannel[0]);
}

LogCat の結果は次のとおりです。

y1: 12.02.0
y2: 12

すべての変数が浮動小数点であることを理解していません。正しい結果が得られないため、コードが機能していません。Eclipseプロジェクトのクリーニングも試みました。

4

2 に答える 2

5
"Rectangles","y1: " + yChannel[0]+2.0f

最初のオペランドが文字列であるため、文字列連結です。

これを試して

Log.i("Rectangles","y1: " + (yChannel[0]+2.0f));

また

float temp = yChannel[0]+2.0f;
    Log.i("Rectangles","y1: " + temp);
于 2012-12-16T21:13:17.260 に答える
1

引数が文字列に追加されると文字列に変換されるため、float 計算を括弧で囲む必要があります。

于 2012-12-16T21:14:58.253 に答える