C++格式化数字输入字符串的几个办法
2021/10/16 17:13:59
本文主要是介绍C++格式化数字输入字符串的几个办法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1 最为熟知的就是sprintf了,不多说。
2 假如你用Qt的话,还可以用QString::arg()方法
3 这里着重讲讲std::stringstream。它是C++17标准引进的。详情可见
integer - Convert a number to a string with specified length in C++ - Stack Overflowhttps://stackoverflow.com/questions/225362/convert-a-number-to-a-string-with-specified-length-in-c
#include <sstream> #include <iomanip> std::stringstream ss; ss << 900; std::string s = ss.str();
s 的内容就变成了"900"
如果你需要字符串占据固定的长度,比如5个字符,那么代码改为如下:
#include <sstream> #include <iomanip> std::stringstream ss; ss << std::setw(5) << 900; std::string s = ss.str();
s的内容变成了" 900"。900前面有两个空格。
如果你想用其他字符,比如0,代替空格,代码改为如下:
#include <sstream> #include <iomanip> std::stringstream ss; ss << std::setw(5) << std::setfill('0') << 900; std::string s = ss.str();
最后指出一点,stringstream调用时,可能会加锁。所以在多线程情况下,可能影响并行。而sprintf不会加锁。
这篇关于C++格式化数字输入字符串的几个办法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-29怎么去掉UniApp中字符串的空格?-icode9专业技术文章分享
- 2024-11-29Warning: Cannot modify header information - headers already sent by 报错信息是什么?-icode9专业技术文章分享
- 2024-11-29Excel中实现拖动排序的简易教程
- 2024-11-29如何在Excel中使用拖动排序功能
- 2024-11-28阿里云 ECS课程:新手入门教程
- 2024-11-27Excel中实现拖动排序的简单教程
- 2024-11-27Rocket消息队列资料:新手入门指南
- 2024-11-27rocket消息队资料详解与入门指南
- 2024-11-27RocketMQ底层原理资料详解入门教程
- 2024-11-27RocketMQ项目开发资料:新手入门教程