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));