C/C++中字符串和数字互转小结

一. 数字 转 char*型

1.sprintf函数(适合C和C++)

示例:

   char str[50];
   int num = 345;
   sprintf(str,"%d",num);

sprintf()函数的功能非常强大,此处只是将int型数字转换成字符串,更多的介绍可见:https://blog.csdn.net/sjf331/article/details/339254 

二.数字 转 string型

1.利用stringstream(只适合于C++)

示例:

   string str;
   int num = 345;
   stringstream ss; //记住要包含头文件#include<sstream>
   ss << num;
   str = ss.str();

2.利用to_string(只适用于C++,且必须C++11以及以上)

示例:

   string str;
   int num = 345;
   str = to_string(num);

三.char* 转 数字

1.atoi以及相关的函数(适合C和C++)

示例:

   char str[] = "345";
   int num;
   num = atoi(str);

相关的函数包括:C标准库还提供了 atoi, atof, atol, atoll(C++11标准) 函数将字符串转换成int,double, long, long long 型。

2.sscanf函数

示例:

   char str[] = "345";
   int num;
   sscanf(str,"%d",&num);

sscanf函数的功能用样也很强大,具体用法此处不详述。

四.string 转 数字

1.stoi函数(只适用于C++)

示例:

   string str = "345";
   int num;
   num = stoi(str);

stoi函数与atoi函数的区别,见:http://www.cnblogs.com/wangkundentisy/p/8511119.html 最底部分。

2.利用stringstream(只适用于C++)

示例:

   string str = "345";
   int num;
   stringstream ss;
   ss << str;
   ss >> num;

利用stringstream既可以将string转换成数字,同时也可以将数字转换成string。

需要注意的一点是:一定要搞清楚字符串是char *类型还是string类型。

原文地址:https://www.cnblogs.com/wangkundentisy/p/8891758.html

时间: 2024-11-01 22:30:19

C/C++中字符串和数字互转小结的相关文章

javascript中字符串向数字类型的自动转换

js中类型的转换依环境而定,当字符串向数字类型(浮点)转换时,有几种情况: 1.加号连接符引导为字符拼接: console.log("2"+1); 21 console.log(1+"2"+1); 121 2.其余情况引导为数字计算: console.log(0-"2"+1); -1 console.log("2"*2); 4 console.log(1*"2"+1); 3 3.当字符串带非数字时返回NaN

java中字符串与数字的互相转换

import java.text.DecimalFormat; /* * String类中本身提供方法可以将几乎所有的基本类型转换为String类型 * sysout alt+/ 可以直接显示System.out.println() */public class test { public static void main(String[] args) { // 数字转换为字符串 double d=12.25; String str=String.valueOf(d); System.out.p

C/C++中字符串与数字之间的转换

主要有两种方式:C 中能够使用 sprintf 将数字转为字符数组,sscanf 将字符数组转为数字:而在 C++ 中不仅能够使用 C 中的方法,还能够使用 stringstream 实现字符串与数字间的转换. #include "iostream" #include "string" #include "sstream" #include "cstdio" using namespace std; string num2st

JAVA中字符串函数subString的用法小结

本篇文章主要是对JAVA中字符串函数subString的用法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 String str; str=str.substring(int beginIndex);截取掉str从首字母起长度为beginIndex的字符串,将剩余字符串赋值给str: str=str.substring(int beginIndex,int endIndex);截取str中从beginIndex开始至endIndex结束时的字符串,并将其赋值给str; demo:

C/C++中字符串与数字相互转换

sprintf int sprintf( char *buffer, const char *format, [ argument] … ); buffer:char型指针,指向将要写入的字符串的缓冲区. format:格式化字符串. [argument]...:可选参数,可以是任何类型的数据. 把某个格式化的数据写入字符缓冲区中 sscanf int sscanf(const char *buffer,const char *format,[argument ]...); buffer:存储的

Python3基础 print 中字符串乘以数字,重复输出多次

镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ 1 code 1 >>> print("hello world\n" * 8) 2 show 1 hello world 2 hello world 3 hello world 4 hello world 5 hello world 6 hello world 7 he

shell中if条件字符串、数字比对,[[ ]]和[ ]区别

shell中if条件字符串.数字比对,[[ ]]和[ ]区别 引用: http://www.51testing.com/?uid-7701-action-viewspace-itemid-13731 http://blog.csdn.net/sunboy_2050/article/details/6836382 shell 括号 学习shell的时候总是被shell里的条件判断方式搞得头疼,经常不知道改 用[],[[]],(())还是test,let,而很少有书把它们的关系讲解的很清楚(应该是我

Python3中字符串中的数字提取方法

逛到一个有意思的博客http://cuiqingcai.com/category/technique/python 在里面看到一篇关于ValueError: invalid literal for int() with base 10错误的解析,针对这个错误,博主已经给出解决办法,使用的是re.sub 方法 1 totalCount = '100abc' 2 totalCount = re.sub("\D", "", totalCount) 但是没有说明什么含义,于

C# 使用正则表达式去掉字符串中的数字,或者去掉字符串中的非数字

/// 去掉字符串中的数字 public static string RemoveNumber(string key)          {              return Regex.Replace(key, @"\d", "");          } //去掉字符串中的非数字public static string RemoveNotNumber(string key)  {      return Regex.Replace(key, @"