将整数字符串转成整数值,格式检查+转换

1、将整数字符串转成整数值

【题目】
  给定一个字符串 str,如果 str 符合日常书写的整数形式,并且属于 32 位整数的范围,返回
str 所代表的整数值,否则返回 0。
【举例】

	str="123",返回 123。
	str="023",因为"023"不符合日常的书写习惯,所以返回 0。
	str="A13",返回 0。
	str="0",返回 0。
	str="2147483647",返回 2147483647。
	str="2147483648",因为溢出了,所以返回 0。
	str="-123",返回-123。

【解答】
  首先检查str是否符合日常书写的整数形式,具体判断如下:

  1. 如果str不以 ‘-’ 开头,也不以数字字符开头,如str = ‘A12’,返回false。
  2. 如果str以 ‘-’ 开头,但是str的长度为1,即str = ‘-’ ,返回false;如果str长度大于1,但是 ‘-’ 后面紧跟着 ‘0’ ,例如str = ‘-0’ 或 '-012 ’ ,返回false。
  3. 如果str以0开头,但是str的长度大于1,如str = ‘012’ ,返回false;
  4. 如果经过1~3步骤都没有返回,接下来检查str[1 -N-1]是否都是数字字符,如果有一个不是数字字符,则返回false;如果都是数字字符,则返回true。
    具体检查过程代码如下

【代码】

	private static boolean isValid(char[] chars) {
   
        if (chars[0]!='-' && (chars[0]<'0' || chars[0]>'9'))
        {
   
            return false;
        }
        if (chars[0] == 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值