使用java拆分十进制值(作为String)

时间:2016-03-14 23:33:24

标签: java

我正在将十进制数转换为字符串,然后我使用。(点)运算符拆分数字(String)。

对于Ex:

double x=Math.sqrt(17);//4.12425325
String str=String.valueOf(x);
String ar[]=str.split(".");//But its not getting splitted.

但String没有被分割成String Array ar []。

3 个答案:

答案 0 :(得分:2)

转义.

中的split()
String ar[]=str.split("\\.");

split()的参数是正则表达式,而.在正则表达式中具有特殊含义,因此要匹配文字.,您需要将其转义。

答案 1 :(得分:1)

Split()接受Regex作为参数。所以,我们需要摆脱这种情况。'在这里'。'表示Regex中的任何字符,例如:

String s = "123.456";
String[] split = s.split("\\.");
System.out.println(Arrays.toString(split));

答案 2 :(得分:1)

获取整数部分和小数部分的另一种方法。

String num = "123.45";
System.out.println( num.substring( 0, num.indexOf(".") ) ); // prints whole number part
System.out.println( num.substring( num.indexOf(".") + 1) ); // prints decimal part

如果您只对十进制和整数部分的内容感兴趣,则此方法不涉及使用数组。