您可以通过多种方式从 EditText 中获取值,但如果您想要进行操作,请首先确保这些事情。在 EditText 的 XML 布局中确保android:inputType
设置为"number"
,"numberSigned"
否则"numberDecimal"
用户不会弄乱我们的应用程序。
现在,在 java 类上,根据您的预期输出将数字的参数全局初始化为 0,整数 (int) 用于整数之间的总和或减法(inputType 数字或 numberSigned)或更一般地作为所有操作的双精度数。
最后,您需要做的是解析信息,而不是将其作为文本字符串获取,因为它涉及两个不必要的转换。
public void wattSystemView(View view) {
/**
* decimal values entered in hor_editText and wh_editText
* number of days without sun of the system as a whole number at days_editText
*/
hours = (EditText) findViewById(R.id.hor_editText);
wh = (EditText) findViewById(R.id.wh_editText);
daysNoSun = (EditText) findViewById(R.id.nosun_days_editText);
/**
* conversion to double of the decimal values entered
* conversion to integer of the number of days without sun of the system
*/
numh = Double.parseDouble(hours.getText().toString());
numwh = Double.parseDouble(wh.getText().toString());
nosundays = Integer.parseInt(daysNoSun.getText().toString());
/**
* simple math
*/
double wattDay = numh * numwh;
double wattSys = wattDay*nosundays;