创建BigDecimal

时间:2019-05-11 13:11:36

标签: java android kotlin crashlytics numberformatexception

我从Crashlytics收到报告,尝试通过解析BigDecimal值创建String对象时发生了几次崩溃:

Fatal Exception: java.lang.NumberFormatException
For input string: "2999.00"

与崩溃相关的行仅通过解析给定BigDecimal中的值来创建新的String对象:

var value = BigDecimal(strippedInput)

这在各种设备和Android版本上随机发生。

如果2999.00是BigDecimal可以解析的完全正常的数字,怎么会发生此异常?

我尝试查看报告的String的十六进制值,并且看起来其中没有静默空格。 Crashlytics是否有可能在报告的String内删除了诸如无声空格之类的怪异符号?

我无法重现这种情况。

完整的crashlytics报告:

java.lang.Long.parseLong (Long.java:443)
java.lang.Long.parseLong (Long.java:485)
java.math.BigDecimal. (BigDecimal.java:344)
java.math.BigDecimal. (BigDecimal.java:425)
com.mypackage.android.ui.widget.CustomEditText$textWatcher$1.onTextChanged (CustomEditText.java:58)
android.widget.TextView.sendOnTextChanged (TextView.java:8189)
android.widget.TextView.handleTextChanged (TextView.java:8251)
android.widget.TextView$ChangeWatcher.onTextChanged (TextView.java:10382)
android.text.SpannableStringBuilder.sendTextChanged (SpannableStringBuilder.java:1208)
android.text.SpannableStringBuilder.replace (SpannableStringBuilder.java:578)
android.text.SpannableStringBuilder.delete (SpannableStringBuilder.java:230)
android.text.SpannableStringBuilder.delete (SpannableStringBuilder.java:229)
android.text.method.BaseKeyListener.backspaceOrForwardDelete (BaseKeyListener.java:346)
android.text.method.BaseKeyListener.backspace (BaseKeyListener.java:68)
android.text.method.BaseKeyListener.onKeyDown (BaseKeyListener.java:455)
android.text.method.NumberKeyListener.onKeyDown (NumberKeyListener.java:138)
android.widget.TextView.doKeyDown (TextView.java:6287)
android.widget.TextView.onKeyDown (TextView.java:6077)
android.view.KeyEvent.dispatch (KeyEvent.java:2677)
android.view.View.dispatchKeyEvent (View.java:9894)
android.view.ViewGroup.dispatchKeyEvent (ViewGroup.java:1667)

0 个答案:

没有答案