我有一个java web服务,它返回一个字符串类型结果列表,如下所示。
12341.0
4578231.0
25.0
4785555.0
347895666.0
现在我如何删除试验零?我想要的是字符串列表:
12341
4578231
25
4785555
347895666
我该怎么做?
答案 0 :(得分:1)
class Test
{
public static void main(String[] args) throws ParseException {
Number parse = NumberFormat.getNumberInstance().parse("12341.0");
System.out.print(parse);
}
}
答案 1 :(得分:1)
使用正则表达式:
str = str.replaceAll("\\.0+$", "");
答案 2 :(得分:1)
试试这个,这是我用的正则表达式。
result = result.indexOf(".") < 0 ? result : result.replaceAll("0*$", "").replaceAll("\\.$", "");
或使用十进制格式
String result = "347895666.0";
DecimalFormat decimalFormat = new DecimalFormat("###.#");
String result = decimalFormat.format(Double.valueOf(s));
System.out.println(result);
答案 3 :(得分:0)
这可能会有所帮助:
string.replaceFirst("[.]0*$","")
答案 4 :(得分:0)
您可以在Java中使用substring (Java 7)或substring (Java 8)方法。
String result = "12341.0";
String stripped = result.substring(0, result.indexOf("."));
答案 5 :(得分:0)
使用小数格式......
Double num= Double.parseDouble("1.300");
DecimalFormat format = new DecimalFormat("0.#");
System.out.println(format.format(num));
输出:1.3
答案 6 :(得分:0)
如果您从网络服务获得双倍,可以使用此
System.out.println((int)Double.parseDouble("12341.0"));