指数を10進数に変換したい。例えば1.234E3
~1234
。Javaの指数形式から小数への変換
答えて
あなたはそれが本当に変換ではなく、どのように表示数について DecimalFormat
を使用して文字列に変換することができます。 NumberFormatを使用して、番号の表示方法を指定することができます。
double number = 100550000.75;
NumberFormat formatter = new DecimalFormat("#0.00");
System.out.println(number);
System.out.println(formatter.format(number));
小数点を持つ数字に対して同じことをする方法を教えてください。例えば1234567812.1212。指数表記は1.2345678121212E9になります。私はそれを1234567812.1212に戻す必要があります。 小数点以下4桁の数字がある場合は、4を取得する必要があります。 5の場合は5 – sai
Sai、#。########を使用します。小数点記号の後ろに#を追加すると、精度を上げることができます。ただし、最大精度は、使用するデータ型によって決まることに注意してください。たとえば、doubleを使用する場合は、小数点以下17桁を超えることはありません(フォーマッタなしで1/3を印刷するとどうなるか確認してください)。したがって、小数点区切り文字の後に17を超える数を含めると、精度が向上しません。 double以上の精度が必要な場合は、BigDecimalクラスを参照してください。 –
についてBigDecimal.valueOf(doubleToFormat).toPlainString()
toPlainString()の代わりにtoString()を使用した場合の違いは何ですか? –
@ShiladittyaChakraborty、[API for BigDecimal.toString()](https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html#toString--)の最初の文指数が必要な場合は、科学記法が使用されます。 – Paul
@のb.rothによって答えは、それは国の特定の場合にのみ正しい方法:
は違いを確認してください。私はその方法を使用し、new DecimalFormat("#0.00)
が特定の国の10進数のセパレータを取るため、188の問題が発生しました。例えば、ある国が小数点の区切りを "、"として使用する場合、書式化された値は、のようなi18nの問題のために、いくつかの場所では0,00(例:1.2e2はいくつかの場所では120.00、 ..
私が好む方法は、(新しいBigDecimalを( "1.2e2")toPlainString()。) `である
だけJSPXに次のタグを追加します -
<f:convertNumber maxFractionDigits="4" minFractionDigits="2" groupingUsed="false"/>
String data = Long.toString((long) 3.42E8);
System.out.println("**************"+data);
試してみます次のもの:
long l;
double d; //It holds the double value.such as 1.234E3
l=Double.valueOf(time_d).longValue();
あなたは変数lの10進値を取得します。
Javaで倍精度浮動小数点数を扱うとき、ほとんどの値が指数形式で表示されます。
例:以下では、2.35に10000を掛けて、結果を出力します。
//Division example
Double a = 2.85d/10000;
System.out.println("1. " + a.doubleValue());
//Multiplication example
a = 2.85d * 100000000;
System.out.println("2. " + a.doubleValue());
結果:
- 2.85E-4
- 2.85E8
したがって、あなたが結果を指数形式で印刷されて見ることができます。今度は、結果を0.000285または285000000のような純粋な10進形式で表示することができます。これは、クラスjava.math.BigDecimal
を使用することで簡単に行うことができます。次の例では、BigDecimal.valueOf()
を使用してDouble値をBigDecimal
に、.toPlainString()
に変換してプレーン10進文字列に変換しています。
import java.math.BigDecimal;
//..
//..
//Division example
Double a = 2.85d/10000;
System.out.println("1. " + BigDecimal.valueOf(a).toPlainString());
//Multiplication example
a = 2.85d * 100000000;
System.out.println("2. " + BigDecimal.valueOf(a).toPlainString());
結果:
- 0。000285
- 2.85億
上記方法の唯一の欠点は、多数の長い文字列を生成することです。値を制限し、小数点以下5桁または6桁に丸めることができます。このためにはjava.text.DecimalFormat
クラスを使用できます。次の例では、小数点以下4桁を四捨五入して出力します。
import java.text.DecimalFormat;
//..
//..
Double a = 2.85d/10000;
DecimalFormat formatter = new DecimalFormat("0.0000");
System.out.println(formatter .format(a));
結果:
:私はちょうど1行でこのコードを圧縮しようとしてい0.0003
が、それは '' を持つ2つの小数点以下の値を出力します
new DecimalFormat("0.00").format(BigDecimal.valueOf(a).toPlainString());
ハッピーコンバート:)
あなたは行うことができます。
BigDecimal
.valueOf(value)
.setScale(decimalLimit, RoundingMode.HALF_UP)
.toPlainString()
- 1. Javaが2倍の指数形式に変換する理由
- 2. 数値形式への時間変換
- 3. 小数点以下を小数点形式に変換する方法(Java)
- 4. SQL intから16進数への変換little/bigエンディアン形式
- 5. CharSequenceから数式への変換
- 6. 数字の文字列を指数形式に変換する
- 7. Coldfusion日付形式からCシャープ形式への変換
- 8. 小数点から符号と絶対値のバイナリ形式に変換する
- 9. 小数点から整数への変換エラー
- 10. Javaタイムスタンプ形式の変換
- 11. C#での小数点から浮動小数点への変換の問題
- 12. 目的C奇数小数点からロング変換への変換
- 13. ある形式のXMLから別の形式のXMLへの変換
- 14. JAVAの2進数から10進数への変換?
- 15. 小数点から偶数の小数点の変換をC#
- 16. Javaのあるロケールから別のロケール(en_US)への10進形式の変換
- 17. エッジ入力形式から頂点入力形式へのグラフデータの変換
- 18. 指数形式のない大規模小数点をdouble型に変換する
- 19. Scala関数からJava関数への暗黙的変換
- 20. 小数点をIEEE-754形式に変換する
- 21. 変換の小数点からasciiへの停止
- 22. Javascriptで非指数/短い形式の倍数を変換/表現する
- 23. 複数のファイルをbz2からgz形式に変換する
- 24. アドレス浮動小数点型からint型への型変換
- 25. 小数から底4への変換(MIPS)
- 26. 小数点から文字へのASCII変換 - C
- 27. 小数からビットマスクへの変換方法は?
- 28. Pythonリストから浮動小数点への変換
- 29. automapper nullでない場合、小数からboolへの変換
- 30. Google DocsへのExcel - 数式の変換
を指数数は、二重に、どのように格納されますか?あなたは小数点をどのように保存したいですか? –