Java 无法从字符串转换为浮点
我有个问题。当我从视图中获取一些值并尝试将其解析为float(例如2.1234567)时,这是可以的,但当值不再是float时,什么也没有发生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
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
调用中同时设置这两个参数。或者你是说别的什么?你的问题和评论不清楚。