字符串 -- 将整数字符串转换为成整数值 -- 图解
代码如下:
public class Problem_05_ConvertStringToInteger {public static int convert(String str) {if (str == null || str.equals("")) {return 0; // can not convert}char[] chas = str.toCharArray();if (!isValid(chas)) {return 0; // can not convert}boolean posi = chas[0] == '-' ? false : true;int minq = Integer.MIN_VALUE / 10;int minr = Integer.MIN_VALUE % 10;int res = 0;int cur = 0;for (int i = posi ? 0 : 1; i < chas.length; i++) {cur = '0' - chas[i];if ((res < minq) || (res == minq && cur < minr)) {return 0; // can not convert}res = res * 10 + cur;}if (posi && res == Integer.MIN_VALUE) {return 0; // can not convert}return posi ? -res : res;}public static boolean isValid(char[] chas) {if (chas[0] != '-' && (chas[0] < '0' || chas[0] > '9')) {return false;}if (chas[0] == '-' && (chas.length == 1 || chas[1] == '0')) {return false;}if (chas[0] == '0' && chas.length > 1) {return false;}for (int i = 1; i < chas.length; i++) {if (chas[i] < '0' || chas[i] > '9') {return false;}}return true;}public static void main(String[] args) {String test1 = "2147483647"; // max in javaSystem.out.println(convert(test1));String test2 = "-2147483648"; // min in javaSystem.out.println(convert(test2));String test3 = "2147483648"; // overflowSystem.out.println(convert(test3));String test4 = "-2147483649"; // overflowSystem.out.println(convert(test4));String test5 = "-123";System.out.println(convert(test5));}}
参考资料: 程序员代码面试指南 -- 左程云
字符串 -- 将整数字符串转换为成整数值 -- 图解相关推荐
- LabVIEW2020 使用“扫描字符串”函数将字符串中的数字转换为十进制数值
目录 一.案例 二.前面板 三.程序框图 四.验证 一.案例 想把数值输入控件中的数字转换成字符串. 例如:字符串输入控件输入30,想转换成十进制数值30. 二.前面板 1.在前面板窗口上添加一个字符 ...
- 《剑指offer》把字符串转为整数
题目:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法的数 ...
- java如何把字符串变成整数_Java 实现把字符串转换成整数
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 . 输入一个字符串,包括数字字母符号,可以为空; 如果是合法的数值表达则返回该数字,否则 ...
- 【Python】字符串转整数
字符串转整数 # 字符串是普通整数 a = int('1000') print(a) # 1000# 字符串是二进制 b = int('1000', 2) print(b) # 8# 整数转固定长度的 ...
- 字符串之将整数字符串转成整数值
题目: 字符串之将整形字符串转成整数值,并且属于32位整数范围 例如: str = "123" 返回 123 str = "012" 不符合书写习惯,所以返 ...
- 字符串转换整数python_Python将字符串转换为整数
字符串转换整数python In this tutorial you'll see two ways to convert string to integer in python. 在本教程中,您将看 ...
- php如何转化为整数值,php怎么将字符串转为整数
[摘要] PHP即"超文本预处理器",是一种通用开源脚本语言.PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言.PHP独特的语法混合了C.Java.Perl以及 ...
- python字符串转整数_如何在Python中将字符串转换为整数
Python中的所有数据类型(包括整数和字符串)都是对象.通常在编写Python代码时,您需要将一种数据类型转换为另一种数据类型.例如,要对表示为字符串的数字进行数学运算,需要将其转换为整数. 在本教 ...
- 字符串转换成整数-----字符串‘123456’转换成数值123456(指针)
写一个字符串,例如"123456" 返回:数值123456 转换过程: 1.ASCII码中字符123456与数值相差48,也就是字符'1'减去48得到数值1. 2.思路:((1*1 ...
- LeetCode实战:字符串转换整数 (atoi)
题目英文 Implement atoi which converts a string to an integer. The function first discards as many white ...
最新文章
- 使用JCIFS获取远程共享文件
- 全国计算机一级ms office考试难吗,全国计算机等级考试一级msoffice难考吗?_联展教育问答...
- java nio doug_Java NIO简介
- #pragma execution_character_set的意义
- HTML5将重塑Web世界?,互联网营销
- 【DIY】arduino播放音乐方案——TMRpcm
- 机器学习第1天:数据预处理
- HDU 2473 Junk-Mail Filter(并查集的删除操作)
- Flink+Hologres亿级用户实时UV精确去重最佳实践
- 手把手教你如何优化C语言程序
- 开发函数计算的正确姿势 —— 安装第三方依赖
- 从零开始构建自己的爬虫代理IP数据库并定期检验IP有效性...
- UVA10079 Pizza Cutting
- 深度学习-吴恩达-笔记-3-浅层神经网络
- 一步一步使用 DialogFragment 封装链式调用 Dialog
- 练习四十四:整数的排序
- 【优化算法】供需优化算法(SDO)【含Matlab源码 1804期】
- 如何减小电压跟随器输出电阻_电压跟随器只会跟踪?不!请看看它对电路的“魔力”。...
- 入侵手游服务器修改数据库,如何入侵手游服务器数据库
- 福布斯中国奢侈品市场调查