java 截取

来个小题目:把之前也放到一块

获取数字  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

两种方法:

  substring(beginIndex)

       substring(beginIndex, endIndex)

注意:截取的时候是从零开始,左包含右边不包含,共截取(endIndex-beginIndex+1) 个字符 ,范围要是大于所要截取的字符串总数会报错。

通过编辑软件如:eclipse  就可以看到 SubString 的用法,也给出了例子,可以看到有两个,可以传递一个参数,或两个参数

 简单小例子

2、indexof()

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。
  

反正就是,字符串里有就返回对应所在位置,也是从零开始,没有就返回  -1

猜你喜欢

转载自www.cnblogs.com/obge/p/12163099.html