次のような文字列があります7.6E+7
。
私の質問は簡単です:これを対応する番号に変換するにはどうすればよい76000000
ですか?
substring
パーツを分離し、E+7
パーツを解析して7
から、小数点以下の桁数を 7 以上に移動するために使用しようとしました。これを行う簡単な方法はありますか?
ありがとうございました!
long n = Double.valueOf("7.6E+7").longValue();
System.out.println(d);
// prints 76000000 to the output.
Double.parseDouble() を使用して数値として取得できます。
String e = "7.6E+7";
System.out.println(Double.parseDouble(e));
出力は 7.6E7 です。出力に E が必要ない場合は、使用できます
NumberFormat f = NumberFormat.getInstance();
f.setGroupingUsed(false);
System.out.println(f.format(Double.parseDouble(e)));
これにより、整数にキャストせずに出力 76000000 が得られます。たとえば、数値に 0.1 を追加すると、出力は 76000000.1 になります。
精度を失うことなく数値を最終的に整数にキャストできると確信している場合は、代わりに次のようにします。
int d = (int) Double.parseDouble("7.6E+7");
System.out.println(d);
これ76000000
は出力に出力されます。