C++中的数字转字符串to_string

目录
  • C++数字转字符串to_string
  • C++转换为字符串(to_string;to_wstring)
    • 一、to_string
    • 二、to_wstring

C++数字转字符串to_string

有时候我们在编程的时候,需要将数字转换成字符串,c++ string 中有个方便的函数,就是to_string。

例子:

#include <iostream>   
#include <string>     
using namespace std;

int main()
{
    int i= -5;
    cout << to_string(i) << endl;
    return 0;
}

结果输出 ‘“-5”。

to_sting函数原型:

函数原型:

string to_string (int val);
string to_string (long val);
string to_string (long long val);
string to_string (unsigned val);
string to_string (unsigned long val);
string to_string (unsigned long long val);
string to_string (float val);
string to_string (double val);
string to_string (long double val);

内置的基本数值类型基本都可以使用这个函数转换成字符串。

C++转换为字符串(to_string;to_wstring)

一、to_string

头文件string

string to_string (int val);
string to_string (long val);
string to_string (long long val);
string to_string (unsigned val);
string to_string (unsigned long val);
string to_string (unsigned long long val);
string to_string (float val);
string to_string (double val);
string to_string (long double val);

将数值转换为字符串

返回表示为val的字符串。

使用的格式与printf为相应类型打印的格式相同:

val的类型 printf等价物 描述
int “%d” val的十进制基表示。负值的表示前面带有减号( - )
long “%ld” 同上
long long “%lld” 同上
unsigned “%u” val的十进制基表示
unsigned long “%lu” 同上
unsigned long long “%llu” 同上
float “%f” 根据需要写入多个数字来表示整数部分,然后是小数点字符和六个十进制数字。inf(或无穷大)用于表示无穷大。nan(后跟可选的字符序列)表示NaNs(非数字)。负值的表示前面带有减号( - )
double “%f” 同上
long double “%Lf” 同上

参数

  • val
  • 数值

返回值

一个字符串对象,包含val表示为一系列字符。

// to_string example
#include <iostream>   // std::cout
#include <string>     // std::string, std::to_string

int main ()
{
  std::string pi = "pi is " + std::to_string(3.1415926);
  std::string perfect = std::to_string(1+2+4+7+14) + " is a perfect number";
  std::cout << pi << '\n';
  std::cout << perfect << '\n';
  return 0;
}

异常

字符串构造函数可能会抛出。

二、to_wstring

wstring to_wstring (int val);
wstring to_wstring (long val);
wstring to_wstring (long long val);
wstring to_wstring (unsigned val);
wstring to_wstring (unsigned long val);
wstring to_wstring (unsigned long long val);
wstring to_wstring (float val);
wstring to_wstring (double val);
wstring to_wstring (long double val);

将数值转换为宽字符串

返回表示为val的wstring。

使用的格式与wprintf为相应类型打印的格式相同:

val的类型 wprintf等价物 描述
int L"%d" val的十进制基表示。负值的表示前面带有减号( - )
long L"%ld" 同上
long long L"%lld" 同上
unsigned L"%u" val的十进制基表示
unsigned long L"%lu" 同上
unsigned long long L"%llu" 同上
float L"%f" 根据需要写入多个数字来表示整数部分,然后是小数点字符和六个十进制数字。inf(或无穷大)用于表示无穷大。nan(后跟可选的字符序列)表示NaNs(非数字)。负值的表示前面带有减号( - )
double L"%f" 同上
long double “%Lf” 同上

参数

  • val
  • 数值

返回值

一个wstring对象,包含val的表示形式作为字符序列。

// to_wstring example
#include <iostream>   // std::wcout
#include <string>     // std::wstring, std::to_wstring

int main ()
{
  std::wstring pi = L"pi is " + std::to_wstring(3.1415926);
  std::wstring perfect = std::to_wstring(1+2+4+7+14) + L" is a perfect number";
  std::wcout << pi << L'\n';
  std::wcout << perfect << L'\n';
  return 0;
}

异常

wstring构造函数可能会抛出。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 一文带你分清C++的定义,声明和初始化

    目录 定义 初始化 声明 实例 声明时提供初值 在构造函数内赋初值,而不用列表 总结 定义 变量的定义用于为变量分配存储空间,还可以为变量指定初始值. int units_sold; double sales_price, avg_price; std::string title; Sales_item curr_book; // class Sales_item 初始化 C++ 支持两种初始化变量的形式:复制初始化和直接初始化.复制初始化语法用等号(=),直接初始化则是把初始化式放在括号中.

  • C++定义和初始化string对象实例详解

    目录 正文 定义string 初始化string 全面初始化 默认初始化 拷贝初始化 直接初始化 正文 在c++当中,标准类型string来代表可变长的字符串序列,使用string需要加载string 头文件,而方法定义在命名空间std当中,所以使用的基本结构: #include <string> int main(){ using std::string; string str1 = "hello world"; return 0; } 当然也可以结合之前的输入输出部分:

  • C++11系列学习之列表初始化

    目录 前言: 旧标准初始化方式 C++11标准初始化方式 初始化列表技术细节 总结 前言: 由于旧标准初始化方式太过繁杂,限制偏多,因此在新标准中统一了初始化方式,为了让初始化具有确定的效果,于是提出了列表初始化概念. 旧标准初始化方式 普通数组初始化: int i_arr[3] = {1, 2, 3} POD类型初始化(即plain old data类型,可以直接使用memcpy复制的对象): struct A { int x; struct B { int i; int j; } b; }

  • C++实现String类的方法详解

    目录 前言 string模拟实现 string简单实现 string完整实现 完整代码 前言 在C语言中,没有专门用来表示字符串的类型.C语言的字符串是一系列以’\0’为结尾的字符的集合.虽然C语言为这样的字符串提供了一系列的库函数如strcpy, strcmp等等,但这些函数与字符串这个类型是分开的,这不太符合C++中面试对象的思想,所以在C++中封装了一个string类,来帮助我们操作字符串.string该如何使用,我这里就不做赘述了,大家可以去看看官方文档呀 string - C++ Re

  • C++示例讲解初始化列表方法

    目录 定义 特性 初始化阶段 计算阶段 成员变量的初始化顺序 定义 我们先来看一个例子 Date(int year, int month, int day)//带参构造函数 :_year(year) , _month(month) , _day(day) {} 这是一个简单的初始化列表案例,以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个"成员变量"后面跟一个放在括 号中的初始值或表达式. 特性 A.初始化列表能只能初始化一次,多次初始化会报错 Date(int year =

  • C++中String类型的逆序方式

    目录 C++String类型的逆序 这里使用反向迭代器实现 用String方法逆序输出字符串数组 方法 C++String类型的逆序 这里使用反向迭代器实现 #include<iostream> #include <string> using namespace std; int main() { string str; cin>>str; string s(str.rbegin(),str.rend()); cout << s <<endl;

  • C++中的数字转字符串to_string

    目录 C++数字转字符串to_string C++转换为字符串(to_string:to_wstring) 一.to_string 二.to_wstring C++数字转字符串to_string 有时候我们在编程的时候,需要将数字转换成字符串,c++ string 中有个方便的函数,就是to_string. 例子: #include <iostream>    #include <string>      using namespace std; int main() {    

  • JavaScript中把数字转换为字符串的程序代码

    1:把数字转换为字符串的方法 复制代码 代码如下: var string_value = String(number);     string_value = number.toString(); var n = 17;      binary_string = n.toString(2);                //Evaluates to "10001"      octal_string = "0" + n.toString(8);        //

  • javascript中的数字与字符串相加实例分析

    复制代码 代码如下: console.log('----1----') console.log('12' + '34')//'1234' console.log('12' + 34 )//'1234' console.log(12 + '34')//'1234' console.log(12 + 34 )//46 console.log('----2----') console.log(+'12' + '34')//'1234' console.log(+'12' + 34 )//46 cons

  • 解决Oracle字符串中包含数字、特殊符号的排序问题

    问题描述: 某小区,需要按照小区.楼栋.单元号.房间号进行排序,但是按照地址描述排序时,因为字符串中包含数字,所以造成了如下的结果, 1号楼之后应该是2号楼,但是查询结果却是10号楼 . 尝试解决 使用正则表达式替换 结果: 虽然楼栋号排序正常了,但是会发现房间号排序出现了混乱.  继续想办法 终极办法: 使用translate函数 可以发现,结果正常显示 . 以下附上translate使用方法 一.语法: TRANSLATE(string,from_str,to_str) 二.目的 返回将(所

  • java从字符串中提取数字的简单实例

    随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们如何把其中的数字提取出来呢?大致有以下几种方法,正则表达式,集合类,还有就是String类提供的方法. 1 String类提供的方法: package 测试练习; import Java.util.*; public class get_StringNum { /** *2016.10.25 */ public static void main(Strin

  • java基于正则提取字符串中的数字功能【如提取短信中的验证码】

    本文实例讲述了java基于正则提取字符串中的数字功能.分享给大家供大家参考,具体如下: 使用Java正则可以很方便的从字符串中提取符合条件的内容. 1.提取字符串中所有的手机号: private void getPhoneNum(String smsBody) { Pattern pattern = Pattern.compile("(13|14|15|18)\\d{9}"); Matcher matcher = pattern.matcher(smsBody); while (mat

  • Java中关于控制台读取数字或字符串的方法

    Java中,int a = System.in.read();此句读取的是一个字符,然后返回的是对应字符的ASCII, 例如,控制台输入123,只读取一个字符1,对应的ASCII为49,则输出49,输入abc则读取a,对应的ASCII是97,则输出97: Scanner sc = new Scanner(System.in) int n = sc.nextInt();从控制台读取一个数. String c = sc.next();//从控制台读取字符串 以上就是小编为大家带来的Java中关于控制

  • php实现过滤字符串中的中文和数字实例

    本文实例讲述了php实现过滤字符串中的中文和数字.分享给大家供大家参考.具体实现方法如下: function getChinese($string,$encode="GBK") { switch($encode){ case "GBK" :$codelength=2;break; case "GB2312" :$codelength=3;break; case "UTF-8" :$codelength=3;break; cas

  • 详解Python3中字符串中的数字提取方法

    逛到一个有意思的博客在里面看到一篇关于ValueError: invalid literal for int() with base 10错误的解析,针对这个错误,博主已经给出解决办法,使用的是re.sub 方法 totalCount = '100abc' totalCount = re.sub("\D", "", totalCount) 但是没有说明什么含义,于是去查了其他的资料,做一下记录: 在Python3.5.2 官方文档re模块中sub函数的定义是: re

  • c++中数字与字符串之间的转换方法(推荐)

    1.字符串数字之间的转换 (1)string --> char * string str("OK"); char * p = str.c_str(); (2)char * -->string char *p = "OK"; string str(p); (3)char * -->CString char *p ="OK"; CString m_Str(p); //或者 CString m_Str; m_Str.Format(&q

随机推荐