2012-12-16 40 views
-1

当我添加两个数字时,我的Android程序中有一个非常奇怪的结果。这是我用来找出什么是走出去的测试代码:Android Java代码没有正确计算数学

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项目。

+1

的代码工作,你需要周围的浮动计算括号中,因为参数都被转换为字符串中写道。如果结果不好,比你写错了。 –

+0

你期待什么结果? – Simon

回答

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); 
+3

我觉得真的很愚蠢,我想我应该休息一下... – Andres

+0

如果我每次都有一美元/英镑/欧元,我觉得在StackOverflow上很愚蠢.... – Simon