字符串转为数字

这里只说思想:
以"345"作为例子。当我们扫描到字符串的第一个字符‘3‘时,我们不知道后面还有多少位,仅仅知道这是第一位,因此此时得到的数字是3。当扫描到第二个数字‘4‘时,此时我们已经知道前面已经一个3了,再在后面加上一个数字4,那前面的3相当于30,因此得到的数字是3*10+4=34。接着我们又扫描到字符‘5‘,我们已经知道了‘5‘的前面已经有了34,由于后面要加上一个5,前面的34就相当于340了,因此得到的数字就是34*10+5=345。

代码实现(没有错误检查):

while (*cp >= ‘0‘ && *cp <= ‘9‘)
i = i * 10 + *cp++ - ‘0‘;//最后得到的i就是相应的数字(非ascii码的应该会出错)

时间: 2024-08-06 11:51:08

字符串转为数字的相关文章

jquery过滤特殊字符及js字符串转为数字

//替换特殊字符 $(this).val($(this).val().replace(/[~'!<>@#$%^&*()-+_=:]/g, "")); 方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有对String类型调用这些方法,这两个函数才能正确运行:对其他类型返回的都是NaN(Not a Number). 一些示

字符串转为数字的方法

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script>

工作日记-7 oracle 字符串转为数字

数据源是时间,进行时间段的比较 数据格式 to_char(sysdate,'HH24:mi')   如,15:00 > < 都是进行字符串的比较比如 4:00是大于13:00,需将之转为数字类型比较 to_number(REPLACE(a.forbidtimestart,':','.')) > to_number(REPLACE(to_char(sysdate,'HH24:mi'),':','.'))

将数字字符串转为数字(java)

1 //讲数字字符串转为数值型(此处不考虑输入字符串的合法性),不允许使用parseInt方法和Character.digit 2 public class ConvertNumstr { 3 public static void main(String[] args) { 4 System.out.print(convertStr2Num("-2015")); 5 } 6 public static int convertStr2Num(String str) { 7 int len

python 将列表中的字符串转为数字

本文实例讲述了Python中列表元素转为数字的方法.分享给大家供大家参考,具体如下: 有一个数字字符的列表: numbers = ['1', '5', '10', '8'] 想要把每个元素转换为数字: numbers = [1, 5, 10, 8] 用一个循环来解决: new_numbers = []; for n in numbers: new_numbers.append(int(n)); numbers = new_numbers; 有没有更简单的语句可以做到呢? 1. numbers =

高阶函数复习:利用reduce和map把字符串转为数字

复习高阶函数的时候,有一道题想了半天解不出来.看了下别人的解法,发现学习编程,思维真的很重要. 习题: 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456 解法及思路说明: from functools import reduce def str2float(s): s = s.split('.') #以小数点为分隔符,把字符串分为两部分 def f1(x,y): #函数1,小数点之前的数用这个函数处理 return x * 10 + y

javascript 数字字符串转为数字

var a="111"; comsole.log(a);     //打印出来是个字符串类型 comsole.log(+a);   //打印出来是个数字类型 comsole.log(a*1);   //打印出来是个数字类型 var b="a22"; comsole.log(b);   //打印出来是个字符串类型 comsole.log(+b);  //打印出来是个NaN

字符串与数字互相转换

新C++中已经有函数实现此类功能. 数字转为字符串 #include <sstream> //include this to use string streams #include <string> int main() { int number = 1234; std::ostringstream ostr; //output string stream ostr << number; //use the string stream just like cout, /

字符串转数字简单代码实现

#include <stdio.h> #define u8 unsigned char static const int MAC_LENGTH = 6; static u8 char1Tonum(u8 ch) { if((ch>='0')&&(ch<='9')) return ch - '0'; else if ((ch>='a')&&(ch<='f')) return ch - 'a' + 10; else if ((ch>='A