49.字符串转int


面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);
    }
}
49.字符串转int的更多相关文章
- 猜随机数(控制台输入,字符串转int)
		
package com.hanqi.suijishu; import java .util.Random; // main方法类 专门用来运行方法 public class Main { public ...
 - python3 isinstance()判断元素是否是字符串、int型、float型
		
python3 isinstance()判断元素是否是字符串.int型.float型 isinstance是Python中的一个内建函数 语法: isinstance(object, classinf ...
 - MFC各个控件之间运用SendMessage()传送CString和char[]字符串,以及int类型数据
		
LRESULT SendMessage( HWND hWnd, // handle to destination window UINT Msg, // message WPARAM wParam, ...
 - 2019-2-28-C#-16-进制字符串转-int-
		
title author date CreateTime categories C# 16 进制字符串转 int lindexi 2019-02-28 11:51:36 +0800 2018-04-2 ...
 - 字符,字符串,int之间互相转换
		
字符转换成字符串:String str = String.valueOf(ch); 字符转换成int: int a = ch; 字符串转换成字符:char ch = str.charAt(0); 字符 ...
 - 字符串,int,十六进制间转换
		
public class TypeConvert { . /* 字符串转byte[] 03. 这个方法转换后的结果是会多一些 48字符进来的就是代表的是0不知道为什么,但是可以只是取出指定的字符串就行 ...
 - MySQL 字符串 转 int/double CAST与CONVERT 函数的用法
		
http://hongmin118.iteye.com/blog/2029728 转的 MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值.两者具体的语 ...
 - C#字符串转INT
		
Convent.ToInt32(string ) 可以转化字符串 其他 * .tostring(); (int ) char //强制类型转换 不能转化字符串
 - IP地址字符串与int整数之间的无损转化
		
今天鹅厂店面,最后问了一个ip地址字符串和整数间无损转化的问题,晚上有时间了手撸了一下代码. public class IPstr { public static void main(String a ...
 
随机推荐
- 巴黎游戏周: PS4独占游戏《重力少女2》
			
http://blog.us.playstation.com/2015/10/27/gravity-rush-2-coming-to-north-america-on-ps4/
 - 使用IDEA创建SSM框架
 - SQL Server初探
			
SQL Server的结构与Oracle不同,SQL Server里边可以包括很多的database,每个database有自己的表,用户等信息.比如目前有一个应用,应用的每个数据集都是一个datab ...
 - ubuntu升级显卡驱动
			
2.驱动安装 参考:http://blog.csdn.net/Zafir_410/article/details/73188228 2.1 卸掉已安装的驱动 1 sudo apt-get purge ...
 - 华硕ASUSPRO P5440UA笔记本电脑安装驱动
			
领了一台公司的办公笔记本,按照套路重装了系统(win10),后面发现悲剧了 采坑1: 从华硕通过型号搜索下来的无线网卡(WIFI) 驱动无法安装(双击启动没有反映) 解决:通过设备Id上google搜 ...
 - Linux基础入门-用户及文件权限管理
			
一.Linux用户管理: 不同的用户的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于Linux的用户管理和权限机制,不同用户不能轻易查看.修改彼此的文件. 1. 查看用户: wh ...
 - http请求返回响应码及意义
			
http 响应码及意义 HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码.它由 RFC 2616 规范定义的,并得到RFC 2518.RFC 281 ...
 - java随机分配端口占用其它服务端口问题完美解决
			
问题描述: java创建socket连接,创建的随机客户端端口占用了其它服务的端口,导致该服务无法启动 解决: 1.linux系统为java或其它程序提供随机端口配置项 查看端口范围:sysctl ...
 - 了解原型设计工具pencil project
			
Pencil Pencil是一个功能强大的界面原型设计工具,可以设计网页和桌面程序界面,侧重点在于设计,支持自定义控件和导出模板,功能确实很强大. 内置形状集合 从2.0.2开始铅笔默认包含更多形状集 ...
 - 软件测试:2.Two Faulty Programs
			
软件测试:2.Two Faulty Programs Questions: 1.Identify the fault; 2.If possible, identify a test case that ...