gpt4 book ai didi

逗号而不是点的Java float

转载 作者:行者123 更新时间:2023-12-02 05:20:39 25 4
gpt4 key购买 nike

All I have a floating point number in Finnish local.就像下面这样:-

  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() 时,我只看到一种强制显示的方法.通过使用您自己的 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));

关于逗号而不是点的Java float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51759796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com