【算法】 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); 第二种方法 ...
随机推荐
- Let’s Encrypt 最近很火的免费SSL 使用教程
2015年10月份,微博上偶然看到Let's Encrypt 推出了beta版,作为一个曾经被https虐出血的码农来说,这无疑是一个重磅消息.并且在全站Https的大趋势下,Let's Encryp ...
- 2018.11.8 Error contacting service. It is probably not running.
安装zookeeper-3.4.6的时候,启动正常没报错,但zkServer.sh status查看状态的时候却出现错误,如下: JMX enabled by default Using config ...
- ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(八)之 聊天记录入队(列)
本篇也算是个番外篇了,跟之前几篇关系不算大.之前一篇 RabbitMQ .NET Client 实战实验 里有介绍过今天要用的内容. 做了一下小更改,就是在用户聊天的时候,消息记录不直接进入数据库, ...
- cross entropy与logistic regression
维基上corss entropy的一部分 知乎上也有一个类似问题:https://www.zhihu.com/question/36307214 cross entropy有二分类和多分类的形式,分别 ...
- Consider defining a bean of type 'package' in your configuration [Spring-Boot]
https://stackoverflow.com/questions/40384056/consider-defining-a-bean-of-type-package-in-your-config ...
- python-实现登录接口
简介:1.在本地创建两个文件,一个文件的内容是存储用户名和密码,另一个的内容是存储锁定的用户 2.登录次数限制为三次,当密码错误三次后,该账号锁定,无法再次登录 #coding=ut ...
- thinkphp 实现移动端和PC端显示不同的模板
1.首先在项目模块下的Common文件夹内建立function.php文件,这样就可以首先执行这里的函数了.所以在这里判断是否是移动端访问的,判断方法如下: function ismobile() { ...
- 解决:Visual Studio 启动就报错退出
Please open an administrative CMD window and navigate to C:\Program Files (x86)\Microsoft Visual Stu ...
- span没有name属性
<span id="test" name="测试数据">测试咯</span> 在eclipse中这么写发现会有警告提示.百度发现原来sp ...
- leetcode笔记(八)263. Ugly Number
题目描述 Write a program to check whether a given number is an ugly number. Ugly numbers are positive nu ...