在setText内部相乘



我是安卓系统的初学者,所以我必须请你耐心等待:)这是一个我遇到麻烦的代码:

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,

Alex

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

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

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

最新更新