代码如下:

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));}}

参考资料: 程序员代码面试指南  -- 左程云

字符串 -- 将整数字符串转换为成整数值 -- 图解相关推荐

  1. LabVIEW2020 使用“扫描字符串”函数将字符串中的数字转换为十进制数值

    目录 一.案例 二.前面板 三.程序框图 四.验证 一.案例 想把数值输入控件中的数字转换成字符串. 例如:字符串输入控件输入30,想转换成十进制数值30. 二.前面板 1.在前面板窗口上添加一个字符 ...

  2. 《剑指offer》把字符串转为整数

    题目:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法的数 ...

  3. java如何把字符串变成整数_Java 实现把字符串转换成整数

    将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 . 输入一个字符串,包括数字字母符号,可以为空; 如果是合法的数值表达则返回该数字,否则 ...

  4. 【Python】字符串转整数

    字符串转整数 # 字符串是普通整数 a = int('1000') print(a) # 1000# 字符串是二进制 b = int('1000', 2) print(b) # 8# 整数转固定长度的 ...

  5. 字符串之将整数字符串转成整数值

    题目: 字符串之将整形字符串转成整数值,并且属于32位整数范围 例如: str = "123"  返回 123 str = "012"  不符合书写习惯,所以返 ...

  6. 字符串转换整数python_Python将字符串转换为整数

    字符串转换整数python In this tutorial you'll see two ways to convert string to integer in python. 在本教程中,您将看 ...

  7. php如何转化为整数值,php怎么将字符串转为整数

    [摘要] PHP即"超文本预处理器",是一种通用开源脚本语言.PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言.PHP独特的语法混合了C.Java.Perl以及 ...

  8. python字符串转整数_如何在Python中将字符串转换为整数

    Python中的所有数据类型(包括整数和字符串)都是对象.通常在编写Python代码时,您需要将一种数据类型转换为另一种数据类型.例如,要对表示为字符串的数字进行数学运算,需要将其转换为整数. 在本教 ...

  9. 字符串转换成整数-----字符串‘123456’转换成数值123456(指针)

    写一个字符串,例如"123456" 返回:数值123456 转换过程: 1.ASCII码中字符123456与数值相差48,也就是字符'1'减去48得到数值1. 2.思路:((1*1 ...

  10. LeetCode实战:字符串转换整数 (atoi)

    题目英文 Implement atoi which converts a string to an integer. The function first discards as many white ...

最新文章

  1. 使用JCIFS获取远程共享文件
  2. 全国计算机一级ms office考试难吗,全国计算机等级考试一级msoffice难考吗?_联展教育问答...
  3. java nio doug_Java NIO简介
  4. #pragma execution_character_set的意义
  5. HTML5将重塑Web世界?,互联网营销
  6. 【DIY】arduino播放音乐方案——TMRpcm
  7. 机器学习第1天:数据预处理
  8. HDU 2473 Junk-Mail Filter(并查集的删除操作)
  9. Flink+Hologres亿级用户实时UV精确去重最佳实践
  10. 手把手教你如何优化C语言程序
  11. 开发函数计算的正确姿势 —— 安装第三方依赖
  12. 从零开始构建自己的爬虫代理IP数据库并定期检验IP有效性...
  13. UVA10079 Pizza Cutting
  14. 深度学习-吴恩达-笔记-3-浅层神经网络
  15. 一步一步使用 DialogFragment 封装链式调用 Dialog
  16. 练习四十四:整数的排序
  17. 【优化算法】供需优化算法(SDO)【含Matlab源码 1804期】
  18. 如何减小电压跟随器输出电阻_电压跟随器只会跟踪?不!请看看它对电路的“魔力”。...
  19. 入侵手游服务器修改数据库,如何入侵手游服务器数据库
  20. 福布斯中国奢侈品市场调查

热门文章

  1. 第八届蓝桥杯省赛真题--最大公共子串
  2. GitHubPage博客搭建学习专栏
  3. Spring Data 起步
  4. [转]使用Android-Studio 开发Android 程序
  5. js中map和python中的map
  6. 中文编程对中文编程是否是一枚银弹
  7. [未读]CLR via C#(第4版)
  8. Oracle EBS: ASCP 学习
  9. [导入]关于中文文本的截取
  10. web安全day32:人人都要懂的LAMP--mysql-server服务安装及安防配置