zoukankan      html  css  js  c++  java
  • 49.字符串转int

    image

    image

    面360的时候这道题目加了一个要求就是要求小数输出整数,故增加一个关于小数点的判断

    要注意转义字符:“.”和“|”都是转义字符,必须得加"\"。同理:*和+也是如此的。
    如果用“.”作为分隔的话,必须是如下写法:
    String.split("\."),这样才能正确的分隔开,不能用String.split(".");
    如果用“|”作为分隔的话,必须是如下写法:
    String.split("\|"),这样才能正确的分隔开,不能用String.split("|");

    public class Solution49 {
        public static void main(String[] args) {
            String str = "-12345.8";
            System.out.println(StrToInt(str));
        }
        
        public static int StrToInt(String str) {
            //1.字符串为空
            if (str.trim().length()==0||str == null) {
                return 0;
            }
            //2.判断是否为负数
            int flag = 1;
            if (str.charAt(0)=='-') {
                flag = -1;
            }
            //4.如果遇到小数点
            if (str.contains(".")) {
                if (str.indexOf(".")!=str.lastIndexOf(".")) {
                    return 0 ;
                }
                String[] split = str.split("\.");
                str = split[0];
            }
            //3.开始循环遍历这个字符串
            int res = 0;
            for (int i = 0; i < str.length(); i++) {
                char everyWord = str.charAt(i);
                //符号位
                if (i==0 && (everyWord=='+'||everyWord=='-')) {
                    continue;
                }
                //非法输入
                if (everyWord<'0'||everyWord>'9') {
                    return 0;
                }
                //合法输入,取出一位,如果后面还有数字就左移(*10)
                res = res*10 + everyWord-'0';
            }
            return (res*flag);
        }
    }
  • 相关阅读:
    flash 观察帧频率的工具 fps counter
    flash builder 找不到所需要的AdobeFlashPlayer调试器版本
    好文好文
    win7下flash builder 4.5无法设置Courier New字体
    AS3日期工具
    png图片 透明区域如何 让其不响应鼠标事件?
    Access插入数据
    异步正则
    log4net异步刷新 TextBox (试运行版)
    Python对Xpath的支持
  • 原文地址:https://www.cnblogs.com/yuange678/p/10689796.html
Copyright © 2011-2022 走看看