精华内容
下载资源
问答
  • 字符串转换为数字

    2017-05-11 22:15:55
    问题:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串“345”,则输出整数345。 分析:可以一次扫描每一个字符,把之前得到的数字乘以10再加上当前字符表示的数字。 需要考虑:1)输入的...

    问题:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串“345”,则输出整数345。

    分析:可以一次扫描每一个字符,把之前得到的数字乘以10再加上当前字符表示的数字。

    需要考虑:1)输入的是否是空字符串;

      2)是否有正负号;

      3)字符串中是否有非数字的字符,如果有,则停止转换;

      4)考虑移除问题;


    代码如下:

    int str2num(const char* str)
    {
    	//首先判空
    	assert(str != NULL);
    	long long num = 0;
    	bool minus = false;
    	const char* temp = str;
    	
    	//判断正负
    	if(*temp == '+')
    		temp++;
    	else if(*temp == '-')
    	{
    		temp++;
    		minus = true;
    	}
    	
    	while(*temp != '\0')
    	{
    		if(*temp >= '0' && *temp <= '9')//合法字符
    		{
    			num = num * 10 + (*temp - '0');
    			//判断是否溢出
    			if(num > numeric_limits<int>::max())
    			{
    				num = 0;
    				break;
    			}
    			*temp++;
    		}
    		
    		//非法字符
    		else
    		{
    			num = 0;
    			break;
    		}
    		
    	}
    	if(*temp == '\0')
    		if(minus)
    			num = 0 - num;
    	
    	return num;
    }


    展开全文
  • 通常,或更具体地说,在竞争性编程中,有许多情况需要将数字转换为字符串或将字符串转换为数字。但是缺乏某些必不可少的工具的知识使我们不得不这样做。本文介绍了一些实现此任务的方法。 将字符串转换为数字 方法...

    通常,或更具体地说,在竞争性编程中,有许多情况需要将数字转换为字符串或将字符串转换为数字。但是缺乏某些必不可少的工具的知识使我们不得不这样做。本文介绍了一些实现此任务的方法。

    将字符串转换为数字

    方法1使用stringstream类或sscanf()

    stringstream():这是将数字字符串转换为int,float或double的简单方法。以下是使用stringstream将字符串转换为int的示例程序。

    输出:x的值:12345

    stringstream是一种操作字符串的便捷方法。

    sscanf() 是类似于scanf()的C样式函数。它从字符串而不是标准输入中读取输入。

    输出:x的值:12345

    同样,我们可以分别使用%f和%lf读取float和double。

    方法2使用stoi()或atoi()进行字符串转换.

    stoi(): stoi()函数将字符串作为参数并返回其值。以下是一个简单的实现:

    输出:

    stoi(“ 45”)是45

    stoi(“ 3.14159”)是3

    stoi(“ 31337 geek”)是31337

    atoi(): atoi()函数将字符数组或字符串文字作为参数并返回其值。以下是一个简单的实现:

    输出:

    atoi(“ 42”)是42

    atoi(“ 3.14159”)是3

    atoi(“ 31337 geek”)是31337

    stoi()与atoi()

    atoi()是旧的C样式函数。在C ++ 11中添加了stoi()。

    atoi()仅适用于C风格的字符串(字符数组和字符串文字),stoi()适用于C ++字符串和C风格的字符串

    atoi()仅接受一个参数并返回整数值。

    int atoi(con​​st char * str);

    stoi()最多可以包含三个参数,第二个参数用于起始索引,第三个参数用于输入数字的基数。

    int stoi(con​​st string&str,size_t * index = 0,int base = 10);

    类似地,为了将String转换为Double,可以使用atof()。上面的函数返回转换后的整数作为int值。如果无法执行有效的转换,它将返回零。

    方法3:使用boost词汇表转换

    Boost库提供了一个内置函数“ lexical_cast(“ string”)”,该函数直接将字符串转换为数字。如果输入无效,则返回异常“ bad_lexical_cast”。

    输出:

    转换后的浮点值为:6.5

    转换后的int值为:5

    将数字转换为字符串

    方法1:使用字符串流

    在此方法中,字符串流声明一个流对象,该对象首先将数字作为流插入对象,然后使用“ str()”跟随数字到字符串的内部转换。

    输出:

    从数字重新形成的字符串是:2016

    方法2:使用to_string()

    此函数接受一个数字(可以是任何数据类型),并以所需的字符串形式返回该数字。

    实现方式:

    输出:

    字符串中的整数是:20字符串中的浮点数是:30.500000

    方法3:使用boost lexical cast

    类似于字符串转换,“ lexical_cast()”函数保持不变,但是这次参数列表修改为“ lexical_cast(numeric_var)”。

    输出:

    字符串中的浮点值为:10.5

    字符串中的int值是:17

    本期的知识分享就到这里了,希望对大家有帮助~

    另外如果你想更好的提升你的编程能力,学好C语言C++编程!弯道超车,快人一步!笔者这里或许可以帮到你~

    C语言C++编程学习交流圈子,Q群1090842465点击进入】微信公众号:C语言编程学习基地

    分享(源码、项目实战视频、项目笔记,基础入门教程)

    欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

    编程学习书籍分享:

    编程学习视频分享:

    展开全文
  • 下列函数可以将字符串转换为数字: 函数名 作 用 atof() 将字符串转换为双精度浮点型值 atoi() 将字符串转换为整型值 atol() 将字符串转换为长整型值 strtod() 将字符串转换为双精度浮点型值,并报告不能被转换的...

    下列函数可以将字符串转换为数字:

    函数名 作 用


    atof() 将字符串转换为双精度浮点型值
    atoi() 将字符串转换为整型值
    atol() 将字符串转换为长整型值
    strtod() 将字符串转换为双精度浮点型值,并报告不能被转换的所有剩余数字
    strtol() 将字符串转换为长整值,并报告不能被转换的所有剩余数字
    strtoul() 将字符串转换为无符号长整型值,并报告不能被转换的所有剩余数字

    (1)下面的实例演示了 atof() 函数的用法。

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
     
    int main()
    {
       float val;
       char str[20];
       
       strcpy(str, "98993489");
       val = atof(str);
       printf("字符串值 = %s, 浮点值 = %f\n", str, val);
     
       strcpy(str, "runoob");
       val = atof(str);
       printf("字符串值 = %s, 浮点值 = %f\n", str, val);
     
       return(0);
    }
    

    编译并运行上面的程序,产生以下结果:

    字符串值 = 98993489, 浮点值 = 98993488.000000
    字符串值 = runoob, 浮点值 = 0.000000
    

    (2)以下是用atoi()函数将字符串转换为整数的例子:

    # include <stdio. h>
    # include <stdlib. h>
    void main (void) ;
    void main (void)
    {
        int num;
        char * str = "100";
        num = atoi(str);
        printf("字符串值 = %s, 整型值 = %d\n",str, num);
    }
    

    让我们编译并运行上面的程序,这将产生以下结果:

    字符串值 =100, 整型值 = 100
    

    atoi()函数只有一个参数,即要转换为数字的字符串str。atoi()函数的返回值就是转换所得的整型值num。

    展开全文
  • 有许多情况需要将数字转换为字符串或将字符串转换为数字。本文中提到了一些实现此任务的方法。将字符串转换为数字方法1:使用stringstream类或sscanf()方法2:使用stoi()或atoi()进行字符串转换方法3:使用boost ...
    5c99494d3da78200ffe07d3a18390867.png

    有许多情况需要将数字转换为字符串或将字符串转换为数字。本文中提到了一些实现此任务的方法。

    将字符串转换为数字

    方法1:使用stringstream类或sscanf()

    方法2:使用stoi()或atoi()进行字符串转换

    方法3:使用boost lexical_cast

    Boost库提供了一个内置函数lexical_cast("string"),该函数直接将字符串转换为数字。如果输入无效,则返回异常“bad_lexical_cast”。

    //C++ code to demonstrate working of lexical_cast() #include #include // for lexical_cast() #include  // for string using namespace std; int main() {    string str = "5";    string str1 = "6.5";      // Initializing f_value with casted float    // f_value is 6.5    float f_value = boost::lexical_cast(str1);      // Initializing i_value with casted int    // i_value is 5    int i_value = boost::lexical_cast(str);      //Displaying casted values    cout << "The float value after casting is : ";    cout << f_value <

    输出:

    The float value after casting is : 6.5The int value after casting is : 5

    将数字转换为字符串

    方法1:使用字符串流

    在此方法中,字符串流声明一个流对象,该对象首先将一个数字作为流插入对象,然后使用“str()”跟随数字到字符串的内部转换。

    // C++ code to demonstrate string stream method // to convert number to string. #include #include   // for string streams #include   // for string using namespace std; int main() {     int num = 2016;       // declaring output string stream     ostringstream str1;       // Sending a number as a stream into output     // string     str1 << num;       // the str() coverts number into string     string geek = str1.str();       // Displaying the string     cout << "The newly formed string from number is : ";     cout << geek << endl;       return 0; } 

    输出:

    The newly formed string from number is : 2016

    方法2:使用to_string()

    该函数接受一个数字(可以是任何数据类型),并以所需的字符串形式返回该数字。

    // C++ code to demonstrate "to_string()" method // to convert number to string. #include #include // for string and to_string() using namespace std; int main() {     // Declaring integer     int i_val = 20;       // Declaring float     float f_val = 30.50;       // Conversion of int into string using     // to_string()     string stri = to_string(i_val);       // Conversion of float into string using     // to_string()     string strf = to_string(f_val);       // Displaying the converted strings     cout << "The integer in string is : ";     cout << stri << endl;     cout << "The float in string is : ";     cout << strf << endl;       return 0;     } 

    输出:

    The integer in string is : 20The float in string is : 30.500000

    方法3:使用boost lexical_cast

    与字符串转换类似,“lexical_cast()”函数保持不变,但是这次参数列表修改为“lexical_cast(numeric_var)”。

    // C++ code to demonstrate "lexical_cast()" method // to convert number to string. #include  // for lexical_cast() #include  // for string using namespace std; int main() {      // Declaring float    float f_val = 10.5;      // Declaring int    int i_val = 17;         // lexical_cast() converts a float into string    string strf = boost::lexical_cast(f_val);          // lexical_cast() converts a int into string    string stri = boost::lexical_cast(i_val);          // Displaying string converted numbers    cout << "The float value in string is : ";    cout << strf << endl;    cout << "The int value in string is : ";    cout << stri << endl;         return 0;    } 

    输出:

    The float value in string is : 10.5The int value in string is : 17
    展开全文
  • 字符串转换为数字

    2017-02-06 17:59:30
    下列函数可以将字符串转换为数字: 函数名 作 用atof() 将字符串转换为双精度浮点型值 atoi() 将字符串转换为整型值 atol() 将字符串转换为长整型值 strtod() 将字符串转换为双精度浮点型值,并报告不能被转换...
  • 32.将字符串转换为数字

    千次阅读 2021-03-14 21:05:56
    32.将字符串转换为数字 题目描述 实现函数 atoi 。函数的功能为将字符串转化为整数 提示:仔细思考所有可能的输入情况。这个问题没有给出输入的限制,你需要自己考虑所有可能的情况。 输入 "123" 返回值 123 分析 ...
  • 在 JavaScript 中,将字符串转换为数字,可以使用如下3种方式,Number()、parseInt() 和 parseFloat()、使用乘号 * 。 在 JavaScript 中,将数字转换为字符串有两种方式,与空字符串相加,使用 toString() 方法
  • 字符串转换为数字 使用Number函数、parseFloat函数、parseFloat函数 注意: 1、以上函数都是从左往右开始读取字符。 2、如果左边开头第一个字符不是数字则会输出Nan。 3、只能读取到连续数字的部分,例如:123...
  • C当中有一些函数专门用于把字符串形式转换成数值形式。 printf()函数和sprintf()函数 -->通过转换说明吧数字从数字形式转换...要使用数值必须先把字符串转换为数字。 atoi()函数: int atoi(char *str); 1...
  • 字符串转化为数字的python实现将字符串转化为数字的python实现,例如将字符串“1234567.8”转化为 1234567.8这也是学习python中的一个简单的练习题,代码如下:# coding=UTF-8 将字符串转化为数字from functools ...
  • 在编程中我们经常需要进行各种数据类型之间的转换操作,下面将为您介绍如何将字符串转换为数字。首先我们需要了解各种数据类型的表示,String在java中为字符串类型,int在java中为整数类型,大小在-2147483648到...
  • STL数字字符串转换为数字

    千次阅读 2016-01-23 20:00:47
    //数字字符串转换为数字 #include #include //库文件 using namespace std; void main() { string Str = "1234567890.34222221"; //数字字符串 istringstream cinstr(Str); //创建输入流对象,参数为字符串。 ...
  • jquery中把字符串转换为数字

    万次阅读 2015-10-22 17:25:08
    其实在jquery里把字符串转换为数字,用的还是js,因为jquery本身就是用js封装编写的。 比如我们在用jquery里的ajax来更新文章的阅读次数或人气的时候,就需要用到字符串转换为数字的功能了, 先来看看JS里把字符串...
  • atof(将字符串转换成浮点型数) atoi(将字符串转换成整型数) atol(将字符串转换成长整型数) strtod(将字符串转换成浮点数) strtol(将字符串转换成长整型数) strtoul(将字符串转换成无符号长整型数) toascii(将...
  • 列表中字符串转换为数字需要先转换为浮点数 正确代码: import matplotlib.pyplot as plt b=[‘1.0’,‘3.0’,‘2.0’,‘9.0’] b1=[] for i in b: b1.append(int(float(i))) print(b1) plt.plot(b1) ...
  • 将单个数字字符串转换为数字 def char2num(s): return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s] 如: def char2num(s): return {'0': 0, '1': 1, '2': 2, '3...
  • 数字字符串 顶折 方法1: 使用String类的静态方法valueOf  方法2: 先把基本类型装箱对象,然后调用对象的toString 代码比较复制代码 1 2 3 4 5 6 7 8 9 10 ...
  • C语言将字符串转换为数字

    千次阅读 2020-04-02 11:17:00
    最近做了一些需要使用字符串形势获取数字的程序,这里就牵扯到了字符串类型和数字类型的转换问题,以下是C语言中,字符串类型转换为数字类型的方法。 1.问题描述 数字既能以字符串形式储存,也能以数值形式储存,把...
  • 通常,或更具体地说,在竞争性编程中,有许多情况需要将数字转换为字符串或将字符串转换为数字。但是缺乏某些必不可少的工具的知识使我们不得不这样做。本文介绍了一些实现此任务的方法。将字符串转换为数字方法1:...
  • Swift3.0语言教程字符串转换为数字

    千次阅读 2016-11-18 09:48:55
    Swift3.0语言教程字符串转换为数字
  • C语言中将字符串转换为数字的方法

    万次阅读 多人点赞 2019-01-08 06:15:36
    C语言提供了几个标准库函数,可以将字符串转换为任意类型(整型、长整型、浮点型等)的数字。以下是用atoi()函数将字符串转换为整数的一个例子:# include &lt;stdio. h&gt;# include &lt;stdlib. h&...
  • C语言中将字符串转换为数字的方法 /* C语言提供了几个标准库函数,可以将字符串转换为任意类型(整型、长整型、浮点型等)的数字。以下是用atoi()函数将字符串转换为整数的一个例子:*/# include # include void ...
  • int int_value= 0; sscanf(hex_str.c_str(), "%x", &reqtype);
  • 16进制字符串转换为数字
  • atof(将字符串转换成浮点型数) atoi(将字符串转换成整型数) atol(将字符串转换成长整型数) strtod(将字符串转换成浮点数) strtol(将字符串转换成长整型数) strtoul(将字符串转换成无符号长整型数) toascii(将...
  • 字符串转换数字数字转换成字符串。注:0的ascii码48. #include #include #include int str2int(char a[],int len) { int b=0; for(int i=0;i;i++) { b+=(a[i]-48)*pow(10,len-i-1); } return b; } char...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,291
精华内容 6,916
关键字:

字符串转换为数字