现有一个不定长的int类型vector,以10为小数点,如[3,9,5,10,1] ,是否可以转换为string类型,替换10为小数点之后再转成单个的double数字,如果出现多个小数点及小数点处于首尾端的时候不退出程序报错而是直接不进行打印
3条回答 默认 最新
- 赵4老师 2021-09-18 07: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无用
悬赏问题
- ¥50 代码还没怎么运行但是需要代码功能调用数据
- ¥15 vue请求不到数据,返回状态200,数据为html
- ¥15 访问url时不会自动调用其 Servlet的doGet()
- ¥15 用白鹭引擎开发棋牌游戏的前端为什么这么难找
- ¥35 哪位专业人士知道这是什么原件吗?哪里可以买到?
- ¥15 关于#c##的问题:treenode反序列化后获取不到上一节点和下一节点,Fullpath和Handle报错
- ¥15 一部手机能否同时用不同的app进入不同的直播间?
- ¥20 输入import torch显示Intel MKL FATAL ERROR,系统驱动1%,: Cannot load mkl_intel_thread.dll.
- ¥15 点云密度大则包围盒小
- ¥15 nginx使用nfs进行服务器的数据共享