我正在将十进制数转换为字符串,然后我使用。(点)运算符拆分数字(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 []。
答案 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
如果您只对十进制和整数部分的内容感兴趣,则此方法不涉及使用数组。