c语言 字符串 float,C++ String(字符串)和 float/double (浮点数)互转

C++ String(字符串)和 float/double (浮点数)互转

在本教程中,我们将借助示例学习如何将字符串转换为浮点数,反之亦然。

C ++字符串与浮点数和双浮点数转换

将字符串转换为浮点数的最简单方法是使用以下C ++ 11函数:std :: stof() - 将string转换为float

std :: stod() - 将string转换为double

std :: stold() - 将string转换为long double。

这些函数在string头文件中定义。

示例1:C ++字符串转换为浮点和双浮点数

示例#include 

#include 

int main() {

std::string str = "123.4567";

// 将字符串转换为浮点数

float num_float = std::stof(str);

// 将字符串转换为双浮点数 double

double num_double = std::stod(str);

std:: cout<

std:: cout<

return 0;

}

输出结果num_float = 123.457

num_double = 123.457

示例2:将C ++ char数组转换为double

我们可以使用std::atof()函数将char数组转换为double。

示例#include 

// atoi()需要cstdlib

#include 

int main() {

// 声明和初始化字符数组

char str[] = "123.4567";

double num_double = std::atof(str);

std::cout <

return 0;

}

输出结果num_double = 123.457

C ++浮点和双浮点数转换为字符串

我们可以使用C ++ 11 std :: to_string()函数将float和double转换为字符串。 对于较旧的C ++编译器,我们可以使用std :: stringstream对象。

示例3:使用to_string()将浮点数和双浮点数转换为字符串

示例#include 

#include 

int main() {

float num_float = 123.4567F;

double num_double = 123.4567;

std::string str1 = std::to_string(num_float);

std::string str2 = std::to_string(num_double);

std::cout <

std::cout <

return 0;

}

输出结果Float 转换为 String = 123.456703

Double 转换为 String = 123.456700

示例4:使用stringstream将浮点数和双浮点数转换为字符串

示例#include 

#include

#include // 使用stringstream

int main() {

float num_float = 123.4567F;

double num_double = 123.4567;

// 创建stringstream对象

std::stringstream ss1;

std::stringstream ss2;

// 将num_float的值分配给ss1

ss1 <

// 将num_float的值分配给ss2

ss2 <

//用ss1和ss2的值初始化两个字符串变量

//然后使用str()函数将其转换为字符串格式

std::string str1 = ss1.str();

std::string str2 = ss2.str();

std::cout <

std::cout <

return 0;

}

输出结果Float 转换为 String = 123.457

Double 转换为 String = 123.457

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值