这个代码的功能是把给定的数用科学计数法的方式实现

代码来自于《算法笔记》P209

数以string类的形式给出,返回的也是string类,并以引用方式修改了指数e,一开始e=0,其中精度n是全局变量,在函数外声明

这个算法是按指定精度保留了非0的数字
至于需要以什么形式输出m.xxx还是0.xxx需要根据题目情况进行讨论
算法把数分成0.xxxx和m.xxxx来处理的,也就是绝对值大于1和小于1的情况
如果有负数,也要在算法外另行处理,这里处理的是数的绝对值

string deal(string a,int &e)
{//a是待处理数,e是科学计数法的指数 //k>a.length()是防止把数字给删光了,至少要保留一个数字 int k=0;while(a.length()>0&&a[0]=='0')//去除在最前面的0 a.erase(a.begin());if(a[0]=='.')//去除先导0之后是小数点,说明a是小于1的数 {a.erase(a.begin());//去掉小数点 while(a.length()>0&&a[0]=='0') {a.erase(a.begin());//去掉小数点后非零位之前的所有0 e--;//每去掉一个0,指数e-- }}else//去掉先导0后不是小数点,则找到后面的小数点删除 {while(k<a.length()&&a[k]!='.')//寻找小数点 {k++;e++;}if(k<a.length())//while结束后k<a.length(),说明遇到了小数点 a.erase(a.begin()+k);//删除小数点 }if(a.length()==0)e=0;//去除先导0后a的长度为0,说明这个数是0int num=0;k=0;string res;while(num<n)//精度没有达到n {if(k<a.length())//只要还有数字,就加到res末尾 res+=a[k++];elseres+='0';//否则就res末尾+0 num++;//精度+1 }return res;
}

普通数字到科学计数法的转换相关推荐

  1. csv 中 数值被自动转换成科学计数法 的问题 excel打开后数字用科学计数法显示且低位变0的解决方法

    csv 中 数值被自动转换成科学计数法 的问题 excel打开后数字用科学计数法显示且低位变0的解决方法 参考文章: (1)csv 中 数值被自动转换成科学计数法 的问题 excel打开后数字用科学计 ...

  2. PHPExcel导入Excel时长数字变成科学计数法调整

    PHPExcel导入Excel时长数字变成科学计数法调整 1.使用PHPExcel导入Excel表格时,长数字会变成科学计数法,表格中的数值类型为数字类型 比如450107630382345 导入打印 ...

  3. 解决navicat 导出excel数字为科学计数法问题

    解决navicat 导出excel数字为科学计数法问题 参考文章: (1)解决navicat 导出excel数字为科学计数法问题 (2)https://www.cnblogs.com/gz9218/p ...

  4. php 大数运算类,PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法

    本文实例讲述了PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法.分享给大家供大家参考,具体如下: PHP计算大数值运算时会出错,当数字太大时,数值会变成科学计数.那怎么来进行PHP超大数值 ...

  5. c# 科学计数法值转换成正常值,返回字符串

    /// <summary>/// 科学计数法值转换成正常值/// </summary>/// <param name="value"></ ...

  6. php 科学计数 位数,PHP采用超长位数字运算防止数字以科学计数法显示的实例

    本文主要介绍了PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法,涉及PHP数学运算及字符串操作的相关技巧.希望对大家有所帮助.本文实例讲述了PHP采用超长(超大)数字运算防止数字以科学计数 ...

  7. php 科学计数加1,PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法_php技巧...

    本文实例讲述了PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法.分享给大家供大家参考,具体如下: PHP计算大数值运算时会出错,当数字太大时,数值会变成科学计数.那怎么来进行PHP超大数值 ...

  8. Excel分列时拒绝让超过15位的数字变成科学计数法

    Excel分列时拒绝让超过15位的数字变成科学计数法 大家有没有遇到这种情况: 对一些含有15位数字以上的内容的单元格进行分列时,分列后会形成科学计数法的错误格式. 如下图所示,选中A1单元格,点击数 ...

  9. excel怎么让数字不用科学计数法

    excel怎么让数字不用科学计数法 方法1:通过设置单元格格式来取消科学计数法.: 方法2:在输入数字前输入一个英文状态下的单引号 Excel默认对超过11位字符长度的数值以科学计数法表示,且超过15 ...

最新文章

  1. 弹性板计算和板带划分计算_计算双面太阳能板背面太阳辐射的新方法
  2. 【问题解决方案】ImportError: No module named ‘openpyxl‘/‘xlrd’
  3. ubuntu安装vmware(支持mac)与卸载
  4. 20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结
  5. 这篇文章让我步入了无线时代,感激原创。
  6. 那些年做过的 .NET Web 项目和 iOS 之路的一些思考
  7. laravel整合workerman做聊天室
  8. 狄斯奎诺算法 c语言,图的邻接表实现迪杰斯特拉算法(C语言)
  9. 如何将PS中的图片字体变为黑色
  10. 一个小型RISC-V开源处理器核介绍!
  11. 【嘉然live2d】来给WP网站添加一个live2
  12. 使用Excel数据分析工具进行多元线性回归分析
  13. 软件工程之PERT图 (AOA与AON)
  14. 攻略:手把手教你如何看懂以太坊区块链浏览器(配图更清晰)
  15. Netty时间轮源码解析
  16. 前端面试题_2022-02
  17. ubuntu安装man中文帮助文档:man c/c++
  18. 怂了!马斯克被罚1.2亿并卸任董事,特斯拉可以歇歇了
  19. 全球MEMS汽车传感器TOP20厂商
  20. 手机扫描识别车牌号SDK

热门文章

  1. AJAX聊天室无刷新技术方案
  2. [初学Spring Boot](1):打不开localhost:8080/hello
  3. C++定义指针数组,数组指针,指针数据
  4. 小虎电商浏览器:拼多多标题关键词怎么找?有什么工具?
  5. 多线程相关实例(多线程经典应用场景)
  6. Android 读取系统联系人
  7. GOM登录器配置免费生成图文教程
  8. 2022-2028全球与中国流量变现平台市场现状及未来发展趋势
  9. 高级Spring之Scope 详解
  10. 【日常记录】解决‘GLIBC_2.34‘ not found,并且gcc制定glibc版本编译