当前位置: 首页 > news >正文

C++ - 从字符串中提取一个数的若干种写法

提取整数

要求:输入一个字符串里面包含一个整数,注意字符串中可能有空格。

用字符串string

image

用char

image

提取整数

要求:输入一串字符串,里面包含若干个小数,字符串中可能有空格。

比如输入:The marathon runner completed the 10.5-kilometer race in under an hour, averaging a pace of 4.75 minutes per kilometer.;

遍历后转数值的写法

string s="The marathon runner completed the \
10.5-kilometer race in under an hour, \
averaging a pace of 4.75 minutes per kilometer."; //获取每一个数值 
double num=0,xsw=0.1;
bool xs=false;
for(int i=0;i<s.size();++i){if(s[i]>='0' && s[i]<='9'){int c=s[i]-'0';if(xs==false){num=num*10+c;}else{num+=c*xsw;xsw/=10;}}else if(s[i]=='.'){xs=true;}else{if(num!=0){cout<<num<<endl;num=0;}xs=false;xsw=0.1;}
}

用stod

string s="The marathon runner completed the \
10.5-kilometer race in under an hour, \
averaging a pace of 4.75 minutes per kilometer."; string cn="";
for(int i=0;i<s.size();++i){if(s[i]>='0' && s[i]<='9' || s[i]=='.'){cn+=s[i];}else{if(cn.size()>0){cout<<stod(cn)<<endl;cn="";}}
}
http://www.hskmm.com/?act=detail&tid=29158

相关文章:

  • ABC 日志
  • 251012
  • 如何在UE中创建动态枚举
  • 能连上 GitHub(SSH 验证成功),却 push 失败?常见原因与逐步解决方案 - 详解
  • 换根dp的一个trick
  • 搭建SSH服务于RK3399平台上的Ubuntu 18.04,实现远程连接
  • 深入探讨MySQL的二进制日志(binlog)选项
  • sparkml 多列共享labelEncoder - 详解
  • 一键解决MetaHuman播放动画时头部穿模问题
  • 忽然很好奇为什么素未谋面的大家都知道我是学姐?
  • UE网络编程完全指南:UDP TCP WebSocket实现详解
  • 配置Nginx服务器在Ubuntu平台上
  • 缓存一致性验证秘笈
  • 从十五岁的今天写给十六岁的明天
  • kali U盘启动持久化
  • 深入解析:Telerik UI for ASP.NET MVC 2025 Q3
  • Java依记 DAY02 - I
  • 元推理:汉字的发音,同音也是某种同构?
  • 题解:qoj7759 Permutation Counting 2
  • WAV 转 flac 格式
  • EtherCAT芯片没有倍福授权的风险
  • 为何是「对话式」智能体?因为人类本能丨对话式智能体专场,Convo AIRTE2025
  • 2014-2024高考真题考点分布详细分析(另附完整高考真题下载) - 详解
  • P4147 玉蟾宫(最大子矩形)
  • 2025 年 10 月西安房屋鉴定公司最新推荐排行榜:覆盖房屋安全评估、结构检测、承载力鉴定、危房鉴定领域,助您选专业机构
  • 完整教程:HAProxy 完整指南:简介、负载均衡原理与安装配置
  • K
  • 阿里发布「夸克 AI 眼镜」:融合阿里购物、地图、支付生态;苹果拟收购计算机视觉初创 Prompt AI丨日报
  • 在AI技术唾手可得的时代,挖掘新需求成为制胜关键——某知名AI聊天框架需求探索
  • 数论学习之路