字符串之将整数字符串转成整数值
来源:互联网 发布:2017刷钻软件 编辑:程序博客网 时间:2024/05/29 18:52
题目:
字符串之将整形字符串转成整数值,并且属于32位整数范围
例如:
str = "123" 返回 123
str = "012" 不符合书写习惯,所以返回0
str = "A12" 返回0
str = " 0" 返回 0
str = "214783647" 返回 214783647
str = "214783647" 因为溢出了,所以返回 0
代码实现:
package com.chenyu.string.cn;public class StringToNumber {public static void main(String[] args) {String[] ss = {"012", "A32", "234", "-123", "-0123"};for (String s : ss) {int result = stringToNumber(s);System.out.println(result);}}public static int stringToNumber(String target) {if (target == null || target == "") {return 0;}char[] chars = target.toCharArray();if (!check(chars)) {return 0;}boolean res = chars[0] == '-' ? false : true;int minr = Integer.MIN_VALUE % 10;int minq = Integer.MIN_VALUE / 10;int cur = 0;int value = 0;for (int i = res? 0 : 1; i <chars.length; i++) {cur = '0' - chars[i];if (value < Integer.MIN_VALUE || (value == minq && cur < minr)) {return 0;} //value += cur; 注意这个地方不是这样写的,要记得乘以10,切记value = value*10 + cur;}if (res && value == Integer.MIN_VALUE) {return 0;}return res? -value: value;}//检验输入的字符是否合法public static boolean check(char[] chars) {if ((chars[0] < '0' || chars[0] >'9') && chars[0] != '-') {return false;}if (chars[0] == '-' && (chars.length == 1 || chars[1] == '0')) {return false;}if (chars[0] == '0' && chars.length > 1) {return false;}for(int i = 1; i < chars.length; i++){if (chars[i] < '0' || chars[i] > '9') {return false;}}return true;}}
运行结果:
00234-1230
0 1
- 字符串之将整数字符串转成整数值
- 将整数字符串转成整数值
- 将整数字符串转成整数值
- 将整数字符串转成整数型
- 将字符串转成整数以及整数转成字符串
- 将整数字符串转成整数值 Python版
- 字符串问题---将整数字符串转成整数型
- 剑指offer-16-将字符串转成整数
- 字符串转成整数
- 整数转成字符串
- 字符串转成整数
- 字符串转成整数方法
- 字符串反转成整数
- 字符串转成整数
- 实现整数转成字符串
- 字符串转成整数
- 将整数字符串转成整数值--《程序员代码面试指南》p249
- 5.5 将整数字符串转为整数值
- 3.词汇表 OpenFlow1.5核心概念翻译与理解-OpenFlow1.5中文版
- 【第一章】 Spring概述 ——跟我学Spring3
- 使用mplayer将批量图片生成压缩视频
- ERROR ITMS-90168 错误处理
- QT连接数据库
- 字符串之将整数字符串转成整数值
- vs2013编译osg3.4.0(64位)和Qt5.6.2(vs2013_64)的小demo
- 4.OpenFlow端口 OpenFlow1.5核心概念翻译与理解-OpenFlow1.5中文版
- 研究讯飞语音 demo,下载跑跑
- 实际开发中对变量命名方式的总结
- 执行力:公开自己的目标,接受群众的监督,用压力确保执行力
- C#语法小知识(二十三)重载运算符
- android 从顶层到底层 学习笔记--- View树
- 文章逻辑