Android 如何使这个计算器也能计算小数?
我是Android Studio的新手,正在使用这个计算器。下图显示了两个数字的可能相加: : 当我点击“第一个数字”行时,我可以选择的所有数字都会弹出。我能计算两个整数,比如4+6,但不能计算小数,比如3.5+2.6。当我单击小数点(.)时,不会发生任何事情。我也不能使用(、)或(-) 以下是应用程序此页面上的代码:Android 如何使这个计算器也能计算小数?,android,decimal,Android,Decimal,我是Android Studio的新手,正在使用这个计算器。下图显示了两个数字的可能相加: : 当我点击“第一个数字”行时,我可以选择的所有数字都会弹出。我能计算两个整数,比如4+6,但不能计算小数,比如3.5+2.6。当我单击小数点(.)时,不会发生任何事情。我也不能使用(、)或(-) 以下是应用程序此页面上的代码: import android.os.Bundle; import android.support.design.widget.FloatingActionButton; impo
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class AdditionPage extends AppCompatActivity implements View.OnClickListener {
private Button btnAdd;
private TextView AnswTxt;
private EditText FirstNumber, SecondNumber;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_additionssida);
init();
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
private void init() {
btnAdd = (Button)findViewById(R.id.btnAdd);
FirstNumber = (EditText)findViewById(R.id.SubTal1);
SecondNumber = (EditText) findViewById(R.id.SecondNumber);
AnswTxt = (TextView)findViewById(R.id.AnswTxt);
btnAdd.setOnClickListener(this);
}
@Override
public void onClick(View v) {
String num1 = FirstNumber.getText().toString();
String num2 = SecondNumber.getText().toString();
switch (v.getId()){
case R.id.btnAdd:
float addition = Float.parseFloat(num1) + Float.parseFloat(num2);
AnswTxt.setText(String.valueOf(addition));
break;
}
}
}
很可能您已将
EditText
s的inputType
属性设置为number
。这将只允许在编辑文本中输入数字字符
这就是为什么当你按下键盘上的点按钮时什么也不会发生
您可以尝试将其设置为numberDecimal
。根据报告:
可以与数字及其其他选项结合使用,以允许使用十进制(小数)数字
很可能您已将
EditText
s的inputType
属性设置为number
。这将只允许在编辑文本中输入数字字符
这就是为什么当你按下键盘上的点按钮时什么也不会发生
您可以尝试将其设置为numberDecimal
。根据报告:
可以与数字及其其他选项结合使用,以允许使用十进制(小数)数字
如果在单击小数点时没有发生任何事情,那么您可能需要查看带有EditText的布局的xml,以查看
android:inputType
isdouble number=Double.parseDouble(FirstNumber.getText().trim());如果在单击小数点时没有发生任何事情,那么您可能需要查看带有EditText的布局的xml,以查看android:inputType
isdouble number=Double.parseDouble(FirstNumber.getText().trim());是的,这成功了,谢谢你!:)在我接受你的回答并结束这个问题之前,如果我还想添加负数,例如(-4)+(-2)?@Rengaw你不能用numberDecimal
来做负数吗?这太令人惊讶了。如果是这种情况,则必须将输入类型设置回text
,并通过代码检查它是否为有效数字。这里有很多关于如何检查字符串是否为有效数字的帖子。@Rengaw另外,在回答问题后,您不会“关闭”它。如果某个问题偏离主题或重复出现,则该问题将被关闭。不,该问题不适用于NumberCimal。谢谢你给我的关于负数的提示,我会仔细研究的。是的,这就成功了,谢谢!:)在我接受你的回答并结束这个问题之前,如果我还想添加负数,例如(-4)+(-2)?@Rengaw你不能用numberDecimal
来做负数吗?这太令人惊讶了。如果是这样,那么您必须将输入类型设置回text
并通过代码检查它是否为有效数字。这里有很多关于如何检查字符串是否为有效数字的帖子。@Rengaw另外,在回答问题后,您不会“关闭”它。如果某个问题偏离主题或重复出现,则该问题将被关闭。不,该问题不适用于NumberCimal。谢谢你提供的关于负数的提示,我会详细研究的。