来个小题目:把之前也放到一块
获取数字 6.99999 的前两位,6.9
代码:
package com.obge.contr; public class Teststu { public static void main(String[] args) { double du1= 6.99999; //通过包装类进行转化,将 double类型转换为String类型 //返回该对象的字符串表示 本质上还是toString String s1 = Double.toString(du1); String s2 = String.valueOf(du1); String s3 = ""+du1; //indexof 返回制定字符在字符串中第一次出现的位置, 不存在就返回-1,注意indexof 是从零开始的 //substring 注意哦: 左边包含右边不包含,也是从0 开始,方向都是 从左到右 String ss = s2.substring(0,s2.indexOf(".")+2); //String类型转换为 double 类型 parse 解析 du1 = Double.parseDouble(ss); System.out.println("小数点所在的位置:"+s2.indexOf(".")); System.out.println("double转换为String类型的三种的方式:"); System.out.println(s2+"的类型是:"+getType(s2)); System.out.println(s1+"的类型是:"+getType(s1)); System.out.println(s3+"的类型是:"+getType(s3)); System.out.println(ss+"的类型是:"+getType(ss)); System.out.println("最后转化之后的值是:"+du1+"的类型是:"+getType(du1)); } //获取变量类型方法 public static String getType(Object o){ //调用该方法返回变量类型 getClass()方法 return o.getClass().toString(); } }
1、subString() j截取 自左向右,从零开始,左包含右不包含
两种方法:
substring(beginIndex)
substring(beginIndex, endIndex)
注意:截取的时候是从零开始,左包含右边不包含,共截取(endIndex-beginIndex+1) 个字符 ,范围要是大于所要截取的字符串总数会报错。
通过编辑软件如:eclipse 就可以看到 SubString 的用法,也给出了例子,可以看到有两个,可以传递一个参数,或两个参数
简单小例子
2、indexOf() 获取对应字符所在位置,没有就返回 -1
public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 public int indexOf(int ch, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 int indexOf(String str): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 int indexOf(String str, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
会有提示的撒, 就是注意返回值是个 int 类型的
主要的是就是:字符串里有就返回对应所在下标位置,也是自左向右从零开始,没有就返回 -1