BlackBerry Android播放器上的奇怪浮动输出“@ .0E-12”

时间:2013-04-17 07:05:07

标签: java android blackberry-playbook blackberry-android

我的应用程序在许多Android设备上运行良好,但在PlayBook上运行的BlackBerry Android播放器出现问题(运行Android 2.3)。

我在PreferenceManager.getDefaultSharedPreferences()上有一个NumberFormatException。看来,在首选项文件中,浮点数被保存为“@ .0E-12”。我做了这个简单的测试:

float f = 1.0e-12f;
System.out.println (f); // prints "@.0E-12" on BlackBerry PlayBook !!

这怎么可能?

2 个答案:

答案 0 :(得分:0)

它是一个非常小的数字(即0.000000..01) 如果它对您有意义,您可以尝试BigDecimal 否则你可以决定小于x的数字(你决定x有多小)是0。

答案 1 :(得分:0)

如果您的问题是这怎么可能?,我想您可以下载Android源代码,在 libcore / luni / src / main / java / java / lang <中查找相关来源/ em>,并且,从Float.toString()开始,开始按功能将函数导入项目,每次检查仍然看到错误时检查。您将找到该错误,它可能与FP数学有关。 (也许,就像尾数中最重要部分的随机位一样。)