无法从String转换为float

时间:2018-01-28 11:38:33

标签: java android string

我有问题。当我从视图中获取一些值并尝试将其解析为浮动时(例如2.1234567)它没问题,但是当值更长时,没有任何事情发生。

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));
            }

        }
    }
};

当我调试它时,它看起来像这样 enter image description here

1 个答案:

答案 0 :(得分:2)

为避免修剪使用Double.parseDouble(String)代替

float有一个较小的限制(4个字节)所以它对大小数不好,double有双倍大小(8个字节)