【算法】 string 转 int
【算法】 string 转 int
遇到的一道面试题, 当时只写了个思路, 现给出具体实现 ,算是一种比较笨的实现方式
public class StringToInt
{
/// <summary>
/// 自己实现string转换成int
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static int ToInt(string str)
{
if (string.IsNullOrWhiteSpace(str)) // 空字符串直接返回0
{
return ;
}
bool isMinus = false; // 是否是负数
int result = ; // 返回结果
for (int i = ; i < str.Length; i++)
{
int num = ToInt(str[i]);
if (num == -) // 不是数字
{
return ;
}
if (num == -) // 负数的情况
{
if (i == ) // 确实是负数
{
isMinus = true;
}
else // 字符串中间出现负号
{
return ;
}
}
checked // 检查算术溢出
{
result += ToTens(num, str.Length - i - );
} }
return isMinus ? - result : result; } /// <summary>
/// 将char转成int,注意-(负数),不能转的返回-1,负数返回-2
/// </summary>
/// <param name="c"></param>
/// <returns></returns>
private static int ToInt(char c)
{
switch (c)
{
case '':
return ;
case '':
return ;
case '':
return ;
case '':
return ;
case '':
return ;
case '':
return ;
case '':
return ;
case '':
return ;
case '':
return ;
case '':
return ;
case '-':
return -;
}
return -;
} /// <summary>
/// 根据位数获取对应的数字
/// </summary>
/// <param name="i"></param>
/// <param name="index"></param>
/// <returns></returns>
private static int ToTens(int i, int index)
{
if (i <= )
{
return ;
}
for (int j = ; j < index; j++)
{
i = i * ;
}
return i;
}
}
【算法】 string 转 int的更多相关文章
- C#中String转int问题
String转int主要有四种方法 1. int.Parse()是一种类容转换:表示将数字内容的字符串转为int类型. 如果字符串为空,则抛出ArgumentNullException异常: 如果字符 ...
- 编写Java应用程序。首先,定义描述学生的类——Student,包括学号(int)、 姓名(String)、年龄(int)等属性;二个方法:Student(int stuNo,String name,int age) 用于对对象的初始化,outPut()用于输出学生信息。其次,再定义一个主类—— TestClass,在主类的main方法中创建多个Student类的对象,使用这些对象来测 试Stud
package zuoye; public class student { int age; String name; int stuNO; void outPut() { System.out.pr ...
- js string to int
一.js中string转int有两种方式 Number() 和 parseInt() <script> var str='1250' ; alert( Number(str) ...
- LeetCode 8 String to Integer (string转int)
题目来源:https://leetcode.com/problems/string-to-integer-atoi/ Implement atoi to convert a string to an ...
- java 13-4 Integer和String、int之间的转换,进制转换
1.int类型和String类型的相互转换 A.int -- String 推荐用: public static String valueOf(int i) 返回 int 参数的字符串表示形式. B. ...
- swift 中String,Int 等类型使用注意,整理中
swfit中的String和Int是 struct定义的,不同于NSString和NSNumber, 如果想在一个数组中同时包含String和Int,那么这个数组要声明为[Any] 而不是 [AnyO ...
- 首先,定义描述学生的类——Student,包括学号(int)、 姓名(String)、年龄(int)等属性;二个方法:Student(int stuNo,String name,int age) 用于对对象的初始化,outPut()用于输出学生信息。其次,再定义一个主类—— TestClass,在主类的main方法中创建多个Student类的对象,使用这些对象来测 试Student类的功能。
package lianxi; public class Student { String Name; int XveHao,Age; Student(String Name,int XveHao,i ...
- caffe: compile error : undefined reference to `cv::imread(cv::String const&, int)' et al.
when I compile caffe file : .build_debug/lib/libcaffe.so: undefined reference to `cv::imread(cv::Str ...
- java中字符串String 转 int(转)
java中字符串String 转 int String -> int s="12345"; int i; 第一种方法:i=Integer.parseInt(s); 第二种方法 ...
随机推荐
- Docker 安装tomcat7
[root@VM_0_7_centos ~]# docker pull tomcat:7-jre7 [root@VM_0_7_centos ~]# docker run -di --name=tomc ...
- Android学习笔记_32_通过WebView实现JS代码与Java代码互相通信
webview两种实现方法,覆盖onKeyDown()方法 缓存 WebSettings应用注意的几个问题 1.要实现JS代码与Java代码互相通信,需要通过Android的WebView控件,在视图 ...
- JavaScript:改变 HTML 内容
使用Javascript来处理HTML元素的内容是非常强大的功能. <!DOCTYPE html><html><head><meta http-equiv=& ...
- vue进阶语法及生命周期函数
1.calss和style绑定 操作元素的 class 列表和内联样式style是数据绑定的一个常见需求,它两都是属性,所以可以通过v-bind来绑定 1.1绑定HTML class 可以给v-bin ...
- 轻量ORM-SqlRepoEx (一)SqlRepoEx介绍
一.SqlRepo项目 发现SqlRepo项目库是在构建自动代码工具时.对于数据访问,在.Net下,有很多选择,比如EF,但EF使用起来,不是很方便的.以前一直使用Atk.Expression库+Sy ...
- oracle官网下载教程
1.百度搜索oracle 也可以直接点击进入 oracle官网 或直接进入 下载页面 2.选择中文,看的更容易些 3.拉到最下面,选择所有下载和试用 4.选择数据库下载 5.点击下载对 ...
- c#分析SQL语句
最近总结了c#一般的功能,然后自己在博文中写了很多东西.主要是在用途上面.能够解决一些问题.现在分各个组件和方向写完了.主要的内容写了demo,也写了自己的项目组件和模型. 最后一个SQL分析.其实在 ...
- git简单配置
1.安装完git查看版本 git --version 2.配置用户名邮箱 git config --global user.name "chencheng" git config ...
- C++创建学生类练习
/*作业,定义一个学生类*/ /*数据成员:学号.姓名.数学.英语.计算机三科成绩 *成员函数:求总成绩.求三科平均成绩.输出学生信息 *新增一个生日类 2018.4.2 */ #include &l ...
- C++中vector,set,map自定义排序
一.vector排序 vector支持cmp,就类似数组,可以直接sort. #include <iostream> #include <algorithm> #include ...