kojiko-android’s blog

開発中にハマった時の解決策や、忘れがちなことを残しておきます。

計算結果に”E”が含まれる場合

doubleからStringに変換したときに、計算結果に”E”の文字が含まれて表示される場合の対処


一見、エラー(ERROR)の「E」では、と思うかもしれませんが、

これは桁数が大きくなっても正確な値を表すための表現で、

Eより左の数 × 10 の (Eより右の数 乗)を表しています。


とはいえ、一般のユーザーから見たら、意味のわからない結果が表示されているとクレームレビューになりかねません。

”E”を含まない表示方法に変換します
double sample_double = 123d;    //    任意の数字
DecimalFormat decimalFormat = new DecimalFormat("##########.##########");
 String str = decimalFormat.format( sample_double );

DecimalFormatクラスのコンストラクターのパラメーターに与えた形式にフォーマットされ、
”E”を含まない文字列を得ることができます。


電卓アプリなど、日常的な計算ではあまり目にしませんが、一般向けに開発するのであれば、
念のため出さない方が無難かもしれませんね。