3

多くの Android デバイスで問題なく動作するアプリがありますが、PlayBook で実行されている BlackBerry Android プレーヤーに問題があります (Android 2.3 を実行しています)。

PreferenceManager.getDefaultSharedPreferences() で NumberFormatException が発生しました。環境設定ファイルでは、float が "@.0E-12" として保存されているようです。この簡単なテストを行いました:

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

どうすればいいの?

4

2 に答える 2

0

これは非常に小さい数値です (つまり、0.000000..01)。
それがあなたにとって何か意味があるなら、あなたは試すことができますBigDecimal
それ以外の場合は、x より小さい数値 (x がどれだけ小さいかを決定します) は 0 であると判断できます。

于 2013-04-17T07:17:12.163 に答える
0

あなたの質問がこれはどうしてですか?、 Android ソースをダウンロードし、libcore/luni/src/main/java/java/langで関連するソースを見つけて、 Float.toString() から始めて、関数ごとにプロジェクトに関数をインポートし始め、それぞれをチェックできると思いますバグがまだ見られる時間。バグを見つけます。おそらく FP 数学に関連するものです。(おそらく、仮数の最下位部分のランダム ビットのようなものです。)

于 2013-04-17T07:39:55.910 に答える