这次是有个需要要拿到计算结果小数点前面的位数,那么想到的当然是用小数点切割字符串,然后切出来的数组的第一个就是小数点前面的。
比如:3.14;我的想法是用小数点切割变成{“3”,“14”};但是运行以后发现不起作用。
String str = "3.14";
System.out.println(str.split(".").length);
打印的结果一直是0,切割失败。
经过一番查找和尝试以后得出结论:以小数点来切割的时候要这样写
str.split("\\.");
要加入两个反斜杠,运用以后发现切割成功,打印结果为2。
虽然没弄懂为什么要这样写,但是至少实现了需要的效果。
补:
其他解决方案:可以这样来写
String str = "3.14";
System.out.println(str.split(Pattern.quote(".")).length);
一样能实现按小数点切割的效果。
"."在正则表达式中表示的是任意字符