java字符串转数字,各种数字转字符串的3种方法

java字符串转数字的方法

1、转化为int型数字 Integer.parseInt(String s)                   Integer.valueOf(String s);

2、转化为long型数字 Long.parseLong(String s)                  Long.valueOf(String s);

3、转化为float型数字   Float.parseFloat(String s)              Float.valueOf(String s)   

4、转化为double型数字  Double.parseDouble(String s)          Double.valueOf(String s)   

其余类型省略,请读者自行探索…

注意事项:

1.字符串内不能包含除数字之外的字符,不然会报错,java.lang.NumberFormatException

2.字符串长度要限制,不然也会出错

比如:String s =“20160926120625100000”,超过19位,就会出错,报java.lang.NumberFormatException

String s =“2016092612062510000”,不超过19位就不会

原因是Long类型的最大值位 Long.MAX_VALUE = 9223372036854775807,大于这个值都会出错

Long类型的最小值位 Long.MIN_VALUE=-9223372036854775808,小于这个值也会报错

方法a、通过基本类型对应的包装类则可以实现把字符串转换成基本类型。Java为8种基本类型都提供了对应的包装类:boolean对应Boolean、byte对应Byte、short对应Short、int对应Integer、long对应Long、char对应Character、float对应Float、double对应Double,8个包装类都提供了一个parseXxx(String str)静态方法用于将字符串转换成基本类型。(注意:如果字符串不是数值型字符串,转换将导致一个运行时错误。),如下左侧的示例代码。

方法b、i=Integer.valueOf(s).intValue(); 如下右侧的示例代码。

总结:方法a直接使用静态方法,不会产生多余的对象,但会抛出异常。方法b,Integer.valueOf(s) 相当于new Integer(Integer.parseInt(s)),也会抛异常,但会多产生一个对象。

后续叙述图片种的代码模板如下:

public class Demo {
    public static void main(String[] args) {
        String str = "123";

        int num = Integer.parseInt(str);

        int sum = num + 100;
        System.out.println("Result is: " + sum);
    }
}

1、转化为int型数字 Integer.parseInt(String s)                   Integer.valueOf(String s);

java字符串转数字,各种数字转字符串的3种方法_第1张图片

2、转化为long型数字 Long.parseLong(String s)                  Long.valueOf(String s);

java字符串转数字,各种数字转字符串的3种方法_第2张图片

3、转化为float型数字   Float.parseFloat(String s)              Float.valueOf(String s)   

java字符串转数字,各种数字转字符串的3种方法_第3张图片

4、转化为double型数字 Double.parseDouble(String s)    Double.valueOf(String s)   

java字符串转数字,各种数字转字符串的3种方法_第4张图片

其余类型省略,请读者自行探索…

各种数字转字符串的3种方法

方法一、i + “”

方法二、String.valueOf(value)

各种数字类型转换成字符串型:其中 value 为任意一种数字类型。将不用担心value 是否为null值这一问题。

方法三、Object.toString(value )

在使用时要注意,必须保证object不是null值,否则将抛出NullPointerException异常。

效率:方法三>方法一>方法二,方法一和方法二差别不大。

代码示例如下:

public class Demo {
    public static void main(String[] args) {
        // int i = 123;
        // long i = 123;
        // float i = 123.123f;
        double i = 123.123;

        String s1 = i + ""; // 方法一

        String s2 = String.valueOf(i); // 方法二

        // 方法三
        // String s3 = Integer.toString(i); // i需要是int
        // String s3 = Long.toString(i);    // i需要是long
        // String s3 = Float.toString(i);   // i需要是float
        String s3 = Double.toString(i);     // i需要是double

        System.out.println("s1=" + s1);
        System.out.println("s2=" + s2);
        System.out.println("s3=" + s3);
    }
}

运行结果:

s1=123.123

s2=123.123

s3=123.123

备注:方法1和2与待转换的数字类型无关;方法3与待转换的数字类型相关,不同的类型需要调用不同的方法。

你可能感兴趣的:(JAVA知识点杂烩,java,开发语言)