Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.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
Java 无法从字符串转换为浮点_Java_Android_String - Fatal编程技术网

Java 无法从字符串转换为浮点

Java 无法从字符串转换为浮点,java,android,string,Java,Android,String,我有个问题。当我从视图中获取一些值并尝试将其解析为float(例如2.1234567)时,这是可以的,但当值不再是float时,什么也没有发生 private View.OnClickListener buttonListenerNumber = new View.OnClickListener() { @Override public void onClick(View view) { numberAsString += ((Button)view ).get

我有个问题。当我从视图中获取一些值并尝试将其解析为float(例如2.1234567)时,这是可以的,但当值不再是float时,什么也没有发生

private View.OnClickListener buttonListenerNumber = new View.OnClickListener() {
    @Override
    public void onClick(View view) {

        numberAsString += ((Button)view ).getText().toString();

        if(signStatus)
        {
            dotStatus = false;
            secondNumber = Float.parseFloat(numberAsString);
            textView.setText(Float.toString(secondNumber));
        }else
        {
            firstNumber = Float.parseFloat(numberAsString);
            textView.setText(Float.toString(firstNumber));
        }

        if(firstNumber != 0 && secondNumber != 0 && secendSignStatus || equalStatus )
        {
            try{
                takeAction(lastSign);
            }catch (Exception e)
            {
                textView.setText(String.valueOf(NAN));
            }

        }
    }
};
当我调试时,它是这样的
为避免修剪,请改用
Double.parseDouble(字符串)


float有一个较小的大小限制(4字节),所以它不适合大小数,double的大小是double(8字节)

你说什么都没发生?
secondNumber
仍然是
。这就是他的意思,因为在这种情况下,我只在firstNumber中添加,但请查看您的代码。在同一
if
语句的“then”分支中设置
secondNumber
,在“else”分支中设置
firstNumber
。显然,不能在同一个
onClick
调用中同时设置这两个参数。或者你是说别的什么?你的问题和评论不清楚。