0

我是Android的初学者,所以我必须请您耐心等待:)这是我遇到问题的代码:

package com.example.matematika;

import java.math.BigDecimal;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class PravRacun extends Activity {
EditText editText1, editText2;
TextView output,output2;
Button Izracunaj,Izracunaj2;
BigDecimal rez1, rez2;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_prav_racun);

editText1=(EditText) findViewById(R.id.editText1);
editText2=(EditText) findViewById(R.id.editText2);

Izracunaj=(Button) findViewById(R.id.button1);
Izracunaj2=(Button) findViewById(R.id.button2);

output=(TextView) findViewById(R.id.output);
output2=(TextView) findViewById(R.id.output2);

Izracunaj.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

rez1=new BigDecimal(editText1.getText().toString());
rez2=new BigDecimal(editText2.getText().toString());
output.setText(rez1.multiply(rez2).toString());
// here is a problem, how can I change this rez1.multiply(rez2) to something else?

}
});

Izracunaj2.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

rez1=new BigDecimal(editText1.getText().toString());
rez2=new BigDecimal(editText2.getText().toString());
output2.setText(rez1.add(rez2).add(rez1).add(rez2).toString());
}
});
}
} 

所以,这条线:

//output.setText(rez1.multiply(rez2).toString());

给我带来了问题,实际上是最后一行,因为如果我尝试将数字 2 与此 rez1 相乘,则会弹出错误。我可以以某种方式改变价值观吗?基本上,我想从 EditText 字段中获取两个输入的值,并对它们做一些事情,把它们放在一些函数中。

非常感谢。

BR,

亚历克斯

4

1 回答 1

0

我建议您创建另一个 BigDecimal 并将结果放在那里,然后将其转换为字符串。

BigDecimal result = rez1.multiply(rez2);
output.setText(result.toString());

它还将使您有机会找出问题是在乘法中还是在转换为字符串中。

于 2013-06-28T17:41:34.827 回答