gpt4 book ai didi

android - 应用程序适用于模拟器,但不适用于真实设备 - 浮点类型

转载 作者:行者123 更新时间:2023-11-30 03:57:16 26 4
gpt4 key购买 nike

我的应用程序在使用模拟器时运行良好,但在真实设备上运行时崩溃。我为 Android 2.2 编写代码。真实设备是2.3.6。

问题在这里:

当我使用类似的东西时:

tvPlayerOneScores.setText("-" + numberFormat.format(level));

它在模拟器和真实设备上都运行良好。

但是当我尝试这样做时:

tvPlayerOneScores.setText("-" + numberFormat.format(level * 0.5f));

它在模拟器上工作,但在真实设备上崩溃。

堆栈跟踪:

java.lang.NumberFormatException
at org.apache.harmony.luni.util.FloatingPointParser.parseFltImpl(Native Method)
at org.apache.harmony.luni.util.FloatingPointParser.parseFloat(FloatingPointParser.java:321)
at java.lang.Float.parseFloat(Float.java:323)
at java.lang.Float.valueOf(Float.java:362)
at com.amrotek.truthordare.GameActivity$4.onClick(GameActivity.java:287)
at android.view.View.performClick(View.java:2552)
at android.view.View$PerformClick.run(View.java:9229)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3701)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:624)
at dalvik.system.NativeStart.main(Native Method)

编辑:我将所有值乘以 10,因此在进行算术运算时我只使用整数。最后我只是将最终值除以 10。它有效:)

最佳答案

你应该在问题中而不是在评论中包含错误行:

playerOnePoints = Float.valueOf(numberFormat.format(playerOnePoints - level * 0.5f));

由于还不足以得出结论,这里有一个简短的 list 供您检查:

  1. 为什么需要用 numberFormat 格式化一个数字,然后用 valueOf 把它转换回来?

  2. numberFormat 是什么,它真的能生成有效 浮点字符串吗?

  3. playerOnePoints 是 float 的还是 float 的?你不应该使用 parseFloat() 而不是 valueOf() 吗?

最后,如果您仍然无法解决您的问题,我建议您将上述行替换为简单的:

playerOnePoints = playerOnePoints - level * 0.5f;

这应该可以解决问题 =)

附言。如果我正确理解了你对 parseFloat()/numberFormat() 的 Intent ,你也可能想熟悉 Math.floor()/ceil()

关于android - 应用程序适用于模拟器,但不适用于真实设备 - 浮点类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13146532/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com