C语言科学计数法字符串转化为实数
任务描述:将科学计数法字符串转化为实数
#include<stdio.h>// 将科学计数法字符串转化为实数
// 如 1.345-e2 为0.01345
// 注意,单个字符转化为对应的数字不能用(int) char,应该用 char - '0'
float convert(char *num){printf("开始转换%s\n",num);float num1 = 0.0,num2 = 0.0;int sign = 1;int exp = 1,cishu = 0;//表示e后面是正号还是负号,正号为1,负号为-1//cishu表示是几次饭char *p = num;if(*p == '-'){sign = -1;p++;//如果小数是复数}while(isdigit(*p)){num1 = num1 * 10 + *p - '0';p++;//小数点前面的部分}printf("num1:%f\n",num1);float i = 0.1;p++;while(isdigit(*p)){num2 += i * (*p- '0');i *= 0.1;p++;}//小数点后面的部分printf("num2:%f\n",num2);if(*p == 'e' || *p == 'E')p++;if(*p == '-'){exp = -1;p++;}else if(*p == '+')p++;while(*p != '\0') {cishu = cishu*10 + *p - '0';p++;}printf("cishu:%d\n",cishu);float result = sign*(num1+num2);if(exp == -1) i = 0.1;else i = 10;for(int j=0;j<cishu;j++) result*=i;return result;}
int main()
{char *str = "21.345e2";float result = convert(str);printf("%f",result);return 0;
}
C语言科学计数法字符串转化为实数相关推荐
- java科学计数法转十进制_Linux下科学计数法(e)转化为数字的方法
科学计数法使用e标识数值,将科学计算学转化为数字的思路:按e右边的数字移动小数点位数.e右边的数字如果是负数,则向左移动小数点.示例如下: 1.2345678e2 = 123.45678 1.2345 ...
- linux识别科学计数法,Linux下科学计数法(e)转化为数字的方法 [shell中几种数字计算说明]...
科学计数法使用e标识数值,将科学计算学转化为数字的思路:按e右边的数字移动小数点位数.e右边的数字如果是负数,则向左移动小数点.示例如下:1.2345678e2 = 123.45678 1.23456 ...
- 怎么转换科学计数法字符串_【编码技巧】python字符串格式化教你正确打印
点击上方蓝字关注我吧! %运算符用来格式化字符串.在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要一一对应.如果只有一个%?,括号可以省略.用% ...
- c语言科学计数法_C入门:C语言中数据的储存(上)
How Data is stored in computer memory? 储存数据是计算机进行各种数据操作的基础,为了理解计算机可以对哪些数据进行怎样的操作,有必要了解数据在计算机中的储存方式. ...
- R语言科学计数法详解:digits和scipen设置
控制R语言科学计算法显示有两个option: digitis和scipen.介绍的资料很少,而且有些是错误的.经过翻看R语言的帮助和做例子仔细琢磨,总结如下: 默认的设置是: getOption(&q ...
- 轻松一招,解决go语言科学计数法导致交易数据掐尖的问题
开发区块链时,遇到以下问题,明明交易了5.005e+18数量的代币,结果最后只交易5个 查看以太坊浏览器,数据如下 苦思冥想,应该是数据转换出了问题 balance, _ := strconv.Par ...
- PTA1024-C语言-科学计数法
#include <stdio.h> #include <string.h> #include <math.h>int char_int(char* a, int ...
- C语言科学计数法E格式
记住口诀 e前e后必有数,e前为小数可以省略整数部分或者小数部分,e后必须为整数,中间不能加空格 e前为小数省略小数部分 e前为小数省略整数部分 e后不为整数不合法 e前为小数同时省略整数部分和小数部 ...
- python 数值型字符串实现四舍五入 decimal_Python将科学计数法数值转换为指定精度浮点数...
Python将科学计数法数值转换为指定精度浮点数 In [20]:money = 1190000.0 In [21]: traded_maket_value = 13824000000 In [22] ...
- C语言答案写成科学记数法,c语言科学记数法_C语言中、科学计数法123456e+002具体代表什么意思、或者说怎么理解这个数_淘题吧...
『壹』 c语言用double写了一个表示科学计数法的程序,但是却读不出来30位以上的数,怎么办 double 是抄64 位(8字节),52 位代表有袭效数位,11 位表示指数,一位表示符号,精度(有效 ...
最新文章
- suse mysql ERROR1045_Suse发生了错误Access denied for user #39;#39;@#39;localhost#39; toamp;...
- Cloudreve云网盘系统源码 支持本地储存
- HTML单页营销宣传专题页源码
- 大数据_Hbase-原理说明_大数据存储_垂直拆表_水平拆表_动态列扩展---Hbase工作笔记0003
- PHP大批量插入数据库的3种方法和速度对比
- 百度文库f12免费复制文章
- Lambert 投影转换相关代码
- 我的毕业论文————面向对象的软件测试
- 用拉格朗日插值法,牛顿插值和分段线性插值计算近似值
- 结合P2P软件使用Ansible分发大文件 1
- ActiveMq NON_PERSISTENT与PERSISTENT以及 durable subscription(持久订阅)的理解
- c语言绝对值函数作用,C语言中有没有求绝对值的函数啊?谢谢!
- 计算机电子表格课程导入,又到了每年此刻,教你把课程表导入日历
- 如何解决OpenStack上Windows虚机CPU负荷
- 几种你不知道的获取浙A牌照的方法
- 深度探索Hyperledger技术与应用之超级账本的典型交易流程
- 关于Python Ansible中 HOST_KEY_CHECKING不生效问题分析
- wasm转c调用与封装至dll案例
- 论文翻译-On Recognizing Texts of Arbitrary Shapes with 2D Self-Attention
- Firefox使用Chrome主题