zoukankan      html  css  js  c++  java
  • 把字符串转换成整数


    将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为 0 或者字符串不是一个合法的数值则返回 0


    解题思路

    字符 ‘0’ 的 ASCII 值是 48,‘1’ 到 '9' 则是从 48 起始依次递增,因此解题的关键在于:

    • 判断有没有 '+'、'-' 等符号位,如果没有符号位默认为正整数
    • 依次取字符串中的每一个字符,判断是否在 '1' 到 '9' 的范围之内
    public class Solution {
        public int StrToInt(String str) {
            if(str == null || str.length() == 0) {
                return 0;
            } else if(str.length() == 1 && (str.charAt(0) == '+' || str.charAt(0) == '-')) {
                return 0;
            }
            int result = 0;
            boolean flag = true;
            int j = 1;
            if(str.charAt(0) == '+') {
                str = str.substring(1, str.length());
            }
            if(str.charAt(0) == '-') {
                flag = false;
                str = str.substring(1, str.length());
            }
            for(int i = str.length() - 1; i >= 0; i--) {
                int temp = str.charAt(i) - 48;
                if(temp < 0 || temp > 9) {
                    return 0;
                }
                result += temp * j;
                j *= 10;
            }
            if(flag == false) {
                return -result;
            }
            return result;
        }
    }
    

  • 相关阅读:
    CEAA自动汇编脚本常用命令
    PIC之拉电流和灌电流
    CHARRANGE 结构
    汇编中的lodsb和stosb、lodsd和stosd指令
    汇编中的STOSB与STOSD指令
    汇编中的CLD指令
    SQL中distinct的用法
    SQL union介绍
    【项目排期】测试排期问题思考
    SQL join的介绍
  • 原文地址:https://www.cnblogs.com/Yee-Q/p/13960156.html
Copyright © 2011-2022 走看看