Java中如何使用非强制类型转换把字符串转换成int类型

①强制类型转换代码如下:

    String string = "123456";
    int a,b = 0;
    @Test
    public void String2Int1() {
        //方法1
        try {
            a = Integer.parseInt(string);
        } catch (Exception e) {
            e.printStackTrace();
        }
        //方法2
        try {
            b = Integer.valueOf(string).intValue();
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("a::"+a);
        System.out.println("b::"+b);
    }

②、非强制类型转换

    String string = "123456";
    int a,b = 0;
    @Test
    public void String2Int() {
        for (int i = 0; i < string.length(); i++) {
            try {
                //这里先把每个字符提取出来,例如1*100000,2*10000, 然后相加
                int a = (int) (Character.getNumericValue(string.charAt(i)) * (Math.pow(10, string.length()-i-1)));
                b = a+b;
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        System.out.println(b);
    }

原文地址:https://www.cnblogs.com/liujie-/p/8316059.html

时间: 2024-10-10 15:13:52

Java中如何使用非强制类型转换把字符串转换成int类型的相关文章

MySQL类型转换 使用CAST将varchar转换成int类型排序

mysql为我们提供了两个类型转换函数:CAST和CONVERT,现成的东西我们怎能放过? 1 BINARY[(N)] 2 CHAR[(N)] 3 DATE 4 DATETIME 5 DECIMAL 6 SIGNED [INTEGER] 7 TIME 8 UNSIGNED [INTEGER] 例子: --使用CAST将varchar转换成int类型排序 select server_id from cardserver where game_id = 1 order by CAST(server_

JAVA中对null进行强制类型转换(null可以强转为任意对象,并执行对象的静态方法)

今天很好奇,对null进行强转会不会抛错.做了如下测试得到的结果是, 如果把null强转给对象,是不会抛异常的,本身对象是可以为null的. 但是如果是基本类型,比如 int i = (Integer)obj的强转,其实内部会调用intvalue方法去赋值给基本类型,所以这时候是会报错的. 代码如下 Object obj = null;Integer s1 = (Integer)obj; 上面能正常执行,即把null赋值给一个对象或者强行类型转换赋值给对象都是没有问题的.如果s1是 int的基本

把数据库中有关枚举项值的数字字符串转换成文字字符串

标题可能无法表达我的本意.比如,有这样一个枚举: public enum MyChoice { MyFirstChoice = 0, MySecondChoice =1, MyThirdChoice = 2 } 数据库中,某表某字段保存值为"0,1,2",在显示的时候,我们希望是"第一个选择,第二个选择,第三个选择".如何做呢? 可以为枚举项上面标注自定义特性.先自定义一个特性如下: public class EnumDisplayNameAttribute : A

Java将Nginx输出的日志有日期字符串转成Date类型

原始的Nginx日期数据为:[28/Nov/2014:11:56:09 +0800] 需要将[]替换掉: <pre name="code" class="java">timeLocal = [28/Nov/2014:11:56:09 +0800] timeLocal = timeLocal.replace("[", "");timeLocal = timeLocal.replace("]", &

C#中,三种强制类型转换的对比

在C#中,我们可以看到三种强制类型转换,比如强制转换成有符号32位整型,可以找到下面三种方式: ① (int)()                ②Convert.ToInt32()         ③int.Parse() 三种转变在有些数据时可以通用,但是用法上仍然有很大的区别 (int)表示使用显式强制转换,是一种类型转换.当我们从 int 类型到 long.float.double 或decimal 类型,可以使用隐式转换,但是当我们从 long 类型到 int  类型转换就需要使用显式

C++中static_cast和dynamic_cast强制类型转换

在C++标准中,提供了关于类型层次转换中的两个关键字static_cast和dynamic_cast. 一.static_cast关键字(编译时类型检查) 用法:static_cast < type-id > ( expression ),该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性,它主要有如下几种用法: (1)用于基本数据类型之间的转换,如把int转换为char,把int转换成enum,但这种转换的安全性需要开发者自己保证(这可以理解为保证

C#中的强制类型转换与as转换的区别

C#中的强制类型转换 例如有ClassA与ClassB两个类创建两个类的对象进行转换 1 2 ClassA a = new ClassA();  ClassB b = new ClassB(); 如果使用强制转换 1 ClassB c = (ClassB)a; 会报InvalidCastException异常 无法将类型为ClassA的对象强制转换为类型ClassB 若使用as关键字进行转换则 1 2 3 4 5 ClassB c=a as ClassB;  if(c!=null)  {  Me

Java中常见的几种类型转换

1 public class ChangeClass 2 { 3 public static void main(String[] args){ 4 5 //Int型数字转换成字符串 6 int num1=123456; 7 //方法1 8 String str1=num1+""; 9 System.out.println(str1); 10 //方法2 11 String str2=String.valueOf(num1); 12 System.out.println(str2);

怎样在Java中实现基本数据类型与字符之间的转换

摘要:在我们对Java的学习当中数据类型之间的转换,是我们常见的事,我们也都知道基本数据类型之间有自动转换和强制转换,在int   . short  . long .float .double之间的转换我们都比较清楚的吧,但我们也应该知道它们与字符串及字符型之间的类型转换又是怎样对,让我们一起来探讨一下它们的转换: 1.整形与字符型之间的数据类型转换: 一.int转换成char有两种方法: ① 是利用char的unicode编码 例:int num1 = 8; char ch1 = (char)