我如何解决 numberformatexception 错误

Posted

技术标签:

【中文标题】我如何解决 numberformatexception 错误【英文标题】:how do i resolver numberformatexception error 【发布时间】:2012-07-24 05:22:20 【问题描述】:

我正在尝试从编辑文本中解析双精度,但我不断收到数字格式异常错误。

我最初尝试过这个...

premiumvalue = Double.parseDouble(premium.getText().toString());         
amountweightvalue = Double.parseDouble(amountweight.getText().toString());

然后尝试了这个......无济于事。

try
    premiumvalue = Double.parseDouble(premium.getText().toString());
 catch (final NumberFormatException e) 
    premiumvalue = 0;

try
    amountweightvalue = Double.parseDouble(amountweight.getText().toString());
 catch (final NumberFormatException e) 
    premiumvalue = 0;

我是菜鸟,如果能帮助解决这个问题,我们将不胜感激。

【问题讨论】:

premium.getText().toString()的值是多少? 为什么要改成toString? 当您的 editText 值为空字符串“”时,可能会发生这种情况。你在检查这种情况吗? 在解析成双倍之前尝试修剪字符串。 @VivekKumarSrivastava:值是数字。我将edittext设置为只接受数值 【参考方案1】:

我已经测试了你的代码,我自己测试你的代码,发现有以下可能找到NumberFormatException

    如果EditText值为空,So apply condition for EditText blank value. 如果EditText 值只有点(.),So apply condition for EditText dot value.

在你的评论中你说你正在使用这个

String text = premium.getText().toString();

if(text.equals(".")||text.equals("-.")||text.equals(""))
  
    premium.setText("0");
 

所以我的意思是

    您是否对premiumamountweight EditText 使用相同的内容,然后将字符串解析为双精度?? 以及为什么需要检查 '_' 的条件,因为如果您为 EditText 设置 android:inputType="numberDecimal" 属性,那么 EditText 只接受 0-9 和 .价值。 如果您使用android:inputType="numberDecimal" 属性,则不需要修剪 EditText 值,因为 Edittext 不接受空格。 不需要检查null 条件,因为EditText 永远不会返回null 值。

我已经对您的代码进行了很多测试,如果我遵循上述几点,则找不到 NumberFormatException

【讨论】:

代码仍然无法正常工作:String numberStr = premium.getText().toString();双数 = Double.parseDouble(numberStr); if(numberStr.equals(".")||numberStr.equals("-.")||numberStr.equals("")) premium.setText("0"); else if(number >= 1 && number = 10) premium.setText("."+numberStr); else if(number -10) premium.setText(".0"+Math.abs(number)); else if(number 0) 你的代码有很多错误 1. 你总是使用第一次计算的 numberStr。 2. 在条件检查之前将字符串解析为双精度。 3. 为什么你用'.'设置值每当用户能够输入“。”在 EditText 中,然后两个点将再次成为 Numberformatexception 的原因。

以上是关于我如何解决 numberformatexception 错误的主要内容,如果未能解决你的问题,请参考以下文章

java-forkjoin异常返回

java中OOP自己总结的知识点

我需要帮助解决这个 JDBC 异常错误,如何解决这个问题?

为啥颤振向我显示此错误,我该如何解决?

如何使用流解决以下练习

动态规划解决方案 - 如何解决? (指出我正确的方向)