现有一个不定长的int类型vector,以10为小数点,如[3,9,5,10,1] ,是否可以转换为string类型,替换10为小数点之后再转成单个的double数字,如果出现多个小数点及小数点处于首尾端的时候不退出程序报错而是直接不进行打印
3条回答 默认 最新
- 赵4老师 2021-09-18 15:35关注
#include <cstdio> #include <vector> using namespace std; int main() { vector<int> src={3,9,5,10,1}; vector<double> dst; double d,pw; int dotloc=(int)src.size()-1; for (int i=0;i<(int)src.size();i++) { printf("%3d ",src[i]); if (src[i]==10) { dotloc=i; } } printf("\ndotloc:%d\n",dotloc); dotloc--; d=0.0; pw=1.0; if (dotloc>0) for (int i=0;i<dotloc;i++) pw*=10.0; if (dotloc<0) for (int i=0;i<dotloc;i++) pw/=10.0; for (int i=0;i<(int)src.size();i++) { if (src[i]==10) { printf("dot\n"); } else { printf("pw:%15.5lf, src[%d]:%2d, d:%lg\n",pw,i,src[i],d); d=d+pw*src[i]; pw/=10.0; } } printf("d:%lg\n",d); dst.push_back(d); return 0; } // 3 9 5 10 1 //dotloc:3 //pw: 100.00000, src[0]: 3, d:0 //pw: 10.00000, src[1]: 9, d:300 //pw: 1.00000, src[2]: 5, d:390 //dot //pw: 0.10000, src[4]: 1, d:395 //d:395.1 //
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
- ¥15 Vue3地图和异步函数使用
- ¥15 C++ yoloV5改写遇到的问题
- ¥20 win11修改中文用户名路径
- ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
- ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
- ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
- ¥15 帮我写一个c++工程
- ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
- ¥15 关于smbclient 库的使用