如何将数字转换为字符串,反之亦然 C++
由于这个问题是每周询问,这
可以帮助很多用户。
如何在字符串中转换整数 C++
如何将字符串转换为整数 C++
如何在字符串中转换浮点 C++
如何使用浮点转换一行 C++
可以帮助很多用户。
如何在字符串中转换整数 C++
如何将字符串转换为整数 C++
如何在字符串中转换浮点 C++
如何使用浮点转换一行 C++
没有找到相关结果
已邀请:
4 个回复
知食
赞同来自:
从标准开始
, 转换 string-to-number 相反,内置于标准库中。 所有以下功能都存在
/按照段落 21.5/.
划拨号码
它们中的每一个都接受字符串作为输入,并尝试将其转换为数字。 例如,如果无法构建允许的数字,因为缺少数字数据或数字 out-of-range 对于这种类型,出现异常 /
或者
/.
如果转型已成功通过
不是
, 那
它将包含未用于解码的第一个符号的索引。 这可能是最后一个符号的索引。
最后,积分类型允许您为数字指定数据库 9 假设字母表 /经过
到
/. 您可以找到关于准确格式的详细信息,可以在此处分析数字
http://en.cppreference.com/w/c ... /stof
和
http://en.cppreference.com/w/c ... /stol
没有标志 .
最后,对于每个功能,还有一个接受的过载
作为第一个参数。
术语中的数字
它们更简单,传递相应的数字类型并返回字符串。 对于格式化选项,您应该返回参数 C++03 stringsream 并使用流式操纵器,如这里的另一个答案中所述。
如在评论中所述,这些函数返回到默认的尾数精度,这很可能不是最大准确性。 如果您的应用程序需要极高的准确性,最好返回其他行格式化程序。
还有类似的函数定义了名称
, 他们会回来 a
.
</string>
窦买办
赞同来自:
不使用
功能
或者
, 由于它们是非标准的,因此不容忍。
使用字符串流
请注意,您还可以使用字符串流也将浮点数转换为字符串,以及以自行决定格式化字符串,如
您可以使用流式操纵器 , 如那个
,
和功能
,
等与弦流与与之相同的流
不要混淆
从
. 后者过时了
使用
http://www.boost.org/doc/libs/ ... t.htm
boost . 如果你不熟悉 boost, 从类似于此类似的小图书馆开始是不糟糕的 lexical_cast. 下载并安装 boost 他的文件可以
http://www.boost.org/
. 虽然 boost 不包括在标准中 C++, 许多图书馆 boost 最终标准化和 boost 它被广泛认为是最好的图书馆之一。 C++.
词汇投掷使用底部的流量,因此主要是此选项与前一个相同,只有更少的冗长。
如何将字符串转换为数字 C++03
最容易继承的最简单选择 C, - 这些是功能
/对于整数 /从字母表到整数// 和
/用于浮点值 /从字母表到浮动//. 这些功能呈现出风格的字符串 C 作为一个论点 /
/, 因此他们的使用
能够
考虑不太好的做法 C++. cplusplus.com 有文件 easy-to-understand 怎么样
http://en.cppreference.com/w/cpp/string/byte/atoi
, 所以和in.
http://en.cppreference.com/w/cpp/string/byte/atof
, 包括如何在糟糕的投入情况下表现。 但是,如果输入号码太大以适合目标类型,则链路包含错误,则不会定义该行为。
使用 string streams /这次 input string stream,
/. 再次, istringstream 以与此同样的方式使用
. 再一次,不要混淆
从
. 后者已经过时了。
使用
http://www.boost.org/doc/libs/ ... t.htm
boost .
如果输入不良
发布异常类型
</int></float></string></boost></string></sstream></string></cstdlib></std::string></std::string></string></boost></string></sstream>
君笑尘
赞同来自:
http://en.cppreference.com/w/cpp/utility/to_chars
和
http://en.cppreference.com/w/c ... chars
进入标题
http://en.cppreference.com/w/cpp/header/charconv
.
std::to_chars - 这是一个独立的,而不是区分
而不是呕吐。
只使用格式化策略的小子集
其他图书馆 /例如, std::sprintf/.
经过
http://en.cppreference.com/w/cpp/utility/to_chars
, 同样的
http://en.cppreference.com/w/c ... chars
.
保证 std::from_chars 可以恢复
每个格式化的浮点
by to_chars 仅在两者都准确提供
功能属于同一实施
虽然编译器没有完全实现,但肯定会实现。
</charconv></cassert></cstdlib></cstddef></cstdio>
龙天
赞同来自:
然后你用它;
非常优雅!
此外,我使用此功能将行转换为任何流,虽然如果您尝试拆卸不包含数字的字符串,则不是很安全;
/他也没有如此聪明
/
用于:
您也可能需要版本 wstrings.
</int></typename>