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

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

简介

提供字符串与数字相互转换的方法

用法

C语言:

序号

函数

描述

1

itoa()

将整型/长整型转换为字符串

2

ultoa() 

将无符号长整型值转换为字符串

3

ecvt()

将双精度浮点型值转换为字符串,转换结果中不包含十进制小数点

4

 fcvt()

以指定位数为转换精度,余同ecvt()

5

gcvt()

将双精度浮点型值转换为字符串,转换结果中包含十进制小数点

6

atof()

将字符串转换为双精度浮点型值

7

atoi()

将字符串转换为整型值

8

atol()  

将字符串转换为长整型值

9

strtod() 

将字符串转换为双精度浮点型值,并报告不能被转换的所有剩余数字

10

strtol()  

将字符串转换为长整值,并报告不能被转换的所有剩余数字

11

strtoul() 

将字符串转换为无符号长整型值,并报告不能被转换的所有剩余数字

C++:

1. 采用stringstream方式

头文件 #include <sstream>

用例:

#include <string> 
#include <sstream> 

void NumToStr() 
{ 
    double num = 123.123; 
    string str; stringstream ss; 
    ss << num; 
    ss >> str; //str = ss.str(); 
} 

void StrToNum() 
{ 
    double num = 123.123; 
    string str;
    stringstream ss; 
    ss << str; 
    ss >> num; 
} 

2. 利用格式化输入输出

序号

函数

描述

1

sprintf

将数字转换为字符串

2

sscanf

将字符串转换为数字

用例:

#include <stdio> 

void NumToStr() 
{ 
    double num = 123.123;
    char str[255];
    sprintf(str, "%.2f", num); 
} 
void StrToNum() 
{ 
    double num; 
    char str[] = "123.123";
    sscanf(str, "%f", &num); 
} 

 

格式符说明

转换说明

输出

%a,%A

浮点数、十六进制数和p-计数法(C99)

%c

一个字符

%d

有符号十进制数

%e,%E

浮点数,e计数法

%f

浮点数,十进制计数法

%g,%G

根据数值不同自动选择%f或%e,%e格式在指数小于-4或者大于等于精度时使用

%i

有符号十进制整数(与%d相同)

%o

无符号八进制整数

%p

指针

%s

字符串

%u

无符号十进制数

%x,%X

使用十六进制数0f的无符号十六进制整数

%%

打印一个百分号

 

符号

说明

示例

-

项目左对齐,即,会把项目打印在字段的左侧开始处

"%-20s"

+

有符号的值若为正,则显示带加号的符号;若为负,则显示带减号的符号

"%+6.2f"

(空格)

有符号的值若为正,则显示时带前导空格(但是不显示符号);若为负,则带减号符号,+标志会覆盖空格标志

"% 6.2f"

#

使用转换说明的可选形式。若为%o格式,则以0开始;若为%x和%X格式 ,则以0x或0X开始。对于所有的浮点形式,#保证了即使不跟任何数字,也打印一个小数点字符。对于%g和%G格式,它防止尾随0被删除

"%#o" "%#8.0f" "%+#10.3E"

0

对于所有的数字格式,用前导零而不是空格填充字段宽度。如果出现-标志或者指定了精度(对于整数)则忽略该标志

"%010d" "%08.3f"

"%02X"

——————————————————————————————————————————

https://blog.csdn.net/luna_zhan/article/details/80433501

https://blog.csdn.net/myRealization/article/details/101077366

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值