Javaのではなく、ドットのコンマで浮動小数点数

masiboo:

すべての私は、フィンランドの地元での浮動小数点数を持っています。これは、次のようなものです: -

  String numberString = "1000,30";
  if(numberString.contains(",")){
        numberString = numberString.replaceAll(",",".").trim();    
    }

    try {
        Number number = Double.parseDouble(numberString);
        return number;
    }catch (NumberFormatException ex){
        System.out.printf(ex.getMessage());
    }
    return null;

しかし、この数は、値1000.30を持っています。私は、値1000,30を持っている必要があり、私は数をしたいと思います。どのように私は、コンマの代わりにドットで数を持つことができますか?これは、以前に頼まれていなければならない基本的な質問です。しかし、すべての私の発見は、Stringデータ型です。私は、任意の数のデータ・タイプが表示されません。

リノ:

APIのみを受け入れることあなたのコメントを見るとNumber、それが呼び出すとNumber#toString()、その上に、私は正当な表示を強制する唯一の方法1を参照してください。独自の実装を使用することでNumber、道の上書きObject#toString()作品:

public class CorrectlyDisplayedDouble extends Number{
    private final Double internal;

    public CorrectlyDisplayedDouble(Double internal){
        this.internal = internal;
    }

    public int intValue(){
        return internal.intValue();
    }

    public long longValue(){
        return internal.longValue();
    }

    public float floatValue(){
        return internal.floatValue();
    }

    public double doubleValue(){
        return internal.doubleValue();
    }

    public String toString(){
        // replaces periods with commas
        return internal.toString().replace(".", ",");
    }
}

これは、簡単にそしてまたあなたのサードパーティのAPIに渡すことができ、次のスニペットを使用して作成することができます。

Number number = new CorrectlyDisplayedDouble(Double.parseDouble(numberString));

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=221626&siteId=1