c++以浮点形式输入并转换为字符串
c++ taking input in float and converting into string
我想从只有两个小数点(999.99)的用户那里获得浮点输入,并将其转换为字符串
float amount;
cout << "Please enter the amount:";
cin.ignore();
cin >> amount;
string Price = std::to_string(amount);
我对该代码的输出是999.989990
to_string
不允许您指定要格式化的小数位数。I/O流do:
#include <sstream>
#include <iomanip>
std::stringstream ss;
ss << std::fixed << std::setprecision(2) << amount;
std::string Price = ss.str();
如果需要精确地表示十进制值,则不能使用二进制float
类型。也许你可以乘以100,将价格表示为一个精确的整数便士。
如果您想将数字四舍五入到两位小数,可以尝试:
amount = roundf(amount * 100) / 100;
然后将其转换为std::string
。
相关文章:
- wcstombs_s(),转换字符串的长度
- 使用 CStringW/CStringA 和 CT2W/CT2A 转换字符串有什么区别?
- 无法转换字符串插入函数的参数
- 转换字符串向量:基于先前的值跳过元素
- 从中间器转换字符串不起作用,出了什么问题?
- 失败的证明转换字符串到枚举类
- 如何使用正则表达式和提升转换迭代器标记和转换 c 字符串
- 使用java jni时转换字符串类型
- 如何避免在转换字符串令牌流时重复istringstream构造
- 阿托伊未正确转换字符串
- C++,转换字符串,使连续下划线序列变为单个下划线
- 使用长算术转换字符串
- 转换字符串十进制数时的精度
- 将词法转换字符串提升为双精度
- 使用marshal_as函数转换字符串的性能
- C++不会从数据转换字符串
- 无论如何,在c++ /Qt中转换字符串到结构中的字段
- C++ 隐式类型转换字符串 -> int?
- 转换字符串到浮点数,c++实现
- 用于转换字符串大小写的函数