通常 , 或更具体地说 , 在竞争性编程中 , 有许多情况需要将数字转换为字符串或将字符串转换为数字 。 但是缺乏某些必不可少的工具的知识使我们不得不这样做 。 本文介绍了一些实现此任务的方法 。
方法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++编程!弯道超车 , 快人一步!笔者这里或许可以帮到你~
编程学习书籍分享:
编程学习视频分享:
分享(源码、项目实战视频、项目笔记 , 基础入门教程)
欢迎转行和学习编程的伙伴 , 利用更多的资料学习成长比自己琢磨更快哦!
- qq余额转微信无银行卡? qq钱包里的钱怎么转到微信
- 95017转人工? 微信人工客服怎么联系
- 每天大概需要转多久呼啦圈才能减肥
- 有阳台有阳光的家,橱柜转角布局别具一格,一个人独自生活也精彩
- 一天当中什么时间转呼啦圈最为合适?转多少个在人的接受范围内?
- 淘宝周转库存量怎么算,每月库存周转天数怎么算?
- 上市之后,网易云音乐的未来看这几个数字
- 俄罗斯转体一天做多少个 俄罗斯转体每天多少组
- 俄罗斯转体练哪里肌肉 俄罗斯转体正确姿势
- 亚马逊开店费用最低多少的,淘宝店铺转让价格表?
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
