質問

私がやっていることであるのNumberFormatを使用することを提案しているように同様の質問があります。

私はのNumberFormatのparse()メソッドを使用しています。

public static void main(String[] args) throws ParseException{

    DecToTime dtt = new DecToTime();
    dtt.decToTime("1.930000000000E+02");

}

public void decToTime(String angle) throws ParseException{

    DecimalFormat dform = new DecimalFormat();
    //ParsePosition pp = new ParsePosition(13);
    Number angleAsNumber = dform.parse(angle);

    System.out.println(angleAsNumber);
}

私が得る結果は

  

1.93

1.930000000000E + 02はかなり珍しい探している番号であるため、

私は本当にこれが動作するように期待していなかった、私はゼロを削除する最初の解析いくつかの文字列をしなければならないのですか?あるいは、迅速かつエレガントな方法はありますか?

役に立ちましたか?

解決

あなたは科学表記法で表現してDecimalFormatを使用する場合は、

、あなたはパターンを指定する必要があります。

のようなものを試してみてください
DecimalFormat dform = new DecimalFormat("0.###E0");

のDecimalFormat の javadocを参照してください。 - 。「科学的表記」

をマークされた箇所があります
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top