string转成integer

T_Mac|mumu 2020-10-27 04:40:54
不能使用Integer.parseInt()
...全文
6255 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰思雨 2020-11-05
  • 打赏
  • 举报
回复
Integer integer = new Integer(“123”); int i = Integer.parseInt(“123”);
Python小叮当 2020-11-03
  • 打赏
  • 举报
回复
引用 5 楼 Amin已经存在了 的回复:
[quote=引用 1 楼 程序杂谈 的回复:][quote=引用 楼主 程序杂谈 的回复:]不能使用Integer.parseInt()
比如说 将String a="123"; 变成 inteager 123[/quote] Integer.parseInt()返回值类型是int类型 Integer.valueOf()返回值类型是Integer类型[/quote] 正解
Python小叮当 2020-11-03
  • 打赏
  • 举报
回复
引用 5 楼 Amin已经存在了 的回复:
[quote=引用 1 楼 程序杂谈 的回复:][quote=引用 楼主 程序杂谈 的回复:]不能使用Integer.parseInt()
比如说 将String a="123"; 变成 inteager 123[/quote] Integer.parseInt()返回值类型是int类型 Integer.valueOf()返回值类型是Integer类型[/quote] 官网api
https://docs.oracle.com/javase/8/docs/api/ 
宾灬 2020-10-30
  • 打赏
  • 举报
回复

int str_to_num(char * str){
    size_t len = strlen(str);
    if(len == 0){
        return 0;
    }
    int num = 0;
    size_t index = 0;
    int flag = 1;
    if(str[0] == '-'){
        index = 1;
        flag = 0;
    }
    while (index < len){
        num *= 10;
        if(str[index] < '0' || str[index] > '9'){
            printf("有非法字符\n");
            exit(1);
        }
        num += (int)(str[index] - '0');
        index++;
    }
    return flag ? num :  -num;
}
brick mover 2020-10-30
  • 打赏
  • 举报
回复
org.apache.commons.lang.math.NumberUtils#toInt(java.lang.String) 试下这个 commons-lang jar包下的
wujiuqier 2020-10-30
  • 打赏
  • 举报
回复
new BigDecimal("222").intValue()
new Double("222").intValue()
new Float("222").intValue()
new Long("222").intValue()
或者直接上JDK源码
public static int parseInt(String s, int radix)
                throws NumberFormatException
    {
        /*
         * WARNING: This method may be invoked early during VM initialization
         * before IntegerCache is initialized. Care must be taken to not use
         * the valueOf method.
         */

        if (s == null) {
            throw new NumberFormatException("null");
        }

        if (radix < Character.MIN_RADIX) {
            throw new NumberFormatException("radix " + radix +
                                            " less than Character.MIN_RADIX");
        }

        if (radix > Character.MAX_RADIX) {
            throw new NumberFormatException("radix " + radix +
                                            " greater than Character.MAX_RADIX");
        }

        int result = 0;
        boolean negative = false;
        int i = 0, len = s.length();
        int limit = -Integer.MAX_VALUE;
        int multmin;
        int digit;

        if (len > 0) {
            char firstChar = s.charAt(0);
            if (firstChar < '0') { // Possible leading "+" or "-"
                if (firstChar == '-') {
                    negative = true;
                    limit = Integer.MIN_VALUE;
                } else if (firstChar != '+')
                    throw NumberFormatException.forInputString(s);

                if (len == 1) // Cannot have lone "+" or "-"
                    throw NumberFormatException.forInputString(s);
                i++;
            }
            multmin = limit / radix;
            while (i < len) {
                // Accumulating negatively avoids surprises near MAX_VALUE
                digit = Character.digit(s.charAt(i++),radix);
                if (digit < 0) {
                    throw NumberFormatException.forInputString(s);
                }
                if (result < multmin) {
                    throw NumberFormatException.forInputString(s);
                }
                result *= radix;
                if (result < limit + digit) {
                    throw NumberFormatException.forInputString(s);
                }
                result -= digit;
            }
        } else {
            throw NumberFormatException.forInputString(s);
        }
        return negative ? result : -result;
    }
limit、T 2020-10-30
  • 打赏
  • 举报
回复
new一个Integer
Opticalproperti 2020-10-28
  • 打赏
  • 举报
回复
Integer.parseInt(value) Integer.valueOf(value)
KeepSayingNo 2020-10-28
  • 打赏
  • 举报
回复
能转啊,你转报什么错
wxs.. 2020-10-28
  • 打赏
  • 举报
回复
interparse
C_minus 2020-10-28
  • 打赏
  • 举报
回复
sum = 0 for c in str sum = sum * 10 + c(转为数字的值) return sum
  • 打赏
  • 举报
回复
类型转化肯定是没有问题的,怎么感觉你这个需求内有乾坤啊
  • 打赏
  • 举报
回复
Integer.parseInt(string a)它的入参是一个string,你直接放进去就行了,返回一个int不就行了
  • 打赏
  • 举报
回复
引用 1 楼 程序杂谈 的回复:
[quote=引用 楼主 程序杂谈 的回复:]不能使用Integer.parseInt()
比如说 将String a="123"; 变成 inteager 123[/quote] Integer.parseInt()返回值类型是int类型 Integer.valueOf()返回值类型是Integer类型
aimo518 2020-10-27
  • 打赏
  • 举报
回复
好像没有必要,你可以点parseInt()方法看下源码
T_Mac|mumu 2020-10-27
  • 打赏
  • 举报
回复
引用 楼主 程序杂谈 的回复:
不能使用Integer.parseInt()

比如说 将String a="123"; 变成 inteager 123

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧