Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使这个计算器也能计算小数?_Android_Decimal - Fatal编程技术网

Android 如何使这个计算器也能计算小数?

Android 如何使这个计算器也能计算小数?,android,decimal,Android,Decimal,我是Android Studio的新手,正在使用这个计算器。下图显示了两个数字的可能相加: : 当我点击“第一个数字”行时,我可以选择的所有数字都会弹出。我能计算两个整数,比如4+6,但不能计算小数,比如3.5+2.6。当我单击小数点(.)时,不会发生任何事情。我也不能使用(、)或(-) 以下是应用程序此页面上的代码: import android.os.Bundle; import android.support.design.widget.FloatingActionButton; impo

我是Android Studio的新手,正在使用这个计算器。下图显示了两个数字的可能相加:

:

当我点击“第一个数字”行时,我可以选择的所有数字都会弹出。我能计算两个整数,比如4+6,但不能计算小数,比如3.5+2.6。当我单击小数点(.)时,不会发生任何事情。我也不能使用(、)或(-)

以下是应用程序此页面上的代码:

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。谢谢你提供的关于负数的提示,我会详细研究的。