c++ - 将特定格式的字符串拆分为浮点数和字符串
问题描述
我有一个项目,其中输入采用特定格式,需要从中提取数据。
格式类似于H79.03 = J99.30
,我需要获取浮点数。
std::stringstream
仅使用and的最佳方法是如何做到这一点std::string
?
解决方案
是的,你只能使用 stringstream 和 string。首先,用空格替换无效数字。然后取数字。
string originalStr = "H79.03 = J99.30";
string expression = originalStr;
for(int i = 0; i < expression.length(); i++) {
if (!isdigit(expression[i]) && (expression[i] != '.'))
expression[i] = ' ';
}
stringstream str(expression);
float firstValue, secondValue;
str >> firstValue;
str >> secondValue;
cout<<firstValue<<endl; // it prints 79.03
cout<<secondValue<<endl; // it prints 99.30
推荐阅读
- java - java中抽象类的输出问题
- reactjs - React - 循环中的多个 API 请求
- css - bootstrap DropDown 不显示任何内容
- reactjs - React JS 中是否有可能检查 iframe 中的特定元素是否具有正确的样式
- python - python将带有子列表的列表转换为字典
- mysql - SQL 查询以在 group by 语句中查找最大值
- r - 匹配r中数据框不同列中的值
- c++ - 在 C++ 中使用 TCP 套接字进行远程客户端和服务器通信
- javascript - 如何在使用javascript更改/选择选项时更改下拉选项的css背景颜色?
- c# - 使用 C# 和 Selenium 查找并单击网页上的每个链接