gpt4 book ai didi

java - 如何采用相同格式输出 2.5 和 2,5?

转载 作者:行者123 更新时间:2023-12-02 02:17:12 24 4
gpt4 key购买 nike

在我的软件中输入可以双向给出,当我给出 2.5 时,它返回 2.5。但是当我给出 2,5 时,它给了我, 2.0 。这是我的代码;

 public PrescriptionNotationParser()
{
final NumberFormat numberFormat = NumberFormat.getInstance();

if (numberFormat instanceof DecimalFormat)
{
doseValueFormat = (DecimalFormat) numberFormat;
doseValueFormat.applyPattern("##.########");
decimalFormatSymbols = doseValueFormat.getDecimalFormatSymbols();
}
}

private double parse(final String valueStr)
{
try
{
return doseValueFormat.parse(valueStr).doubleValue();
}
catch (ParseException e)
{
return 0;
}
}

期望一些专业知识有助于解决此问题?

最佳答案

2.5 是浮点型,但 2,5 不是浮点格式,因此 2,5 只会获取之前的值 2

如果您想要支持2,52.5

private double parse(String valueStr)//remove final
{
try
{
//replace valueStr "," to "."
return doseValueFormat.parse(valueStr.replace(",", ".")).doubleValue();
}
catch (ParseException e)
{
return 0;
}
}

如果您希望将 23,000 .50 更改为 23000.5,只需删除 和空格即可。
一个 float 最多只有一个。

private double parse(String valueStr)//remove final
{
try
{
//valueStr remove all "," and " "
return doseValueFormat.parse(valueStr.replaceAll(",| ", "")).doubleValue();
}
catch (ParseException e)
{
return 0;
}
}

关于java - 如何采用相同格式输出 2.5 和 2,5?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49149221/

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