博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 科学计数法转数值
阅读量:5103 次
发布时间:2019-06-13

本文共 817 字,大约阅读时间需要 2 分钟。

猜测python应该是有现成的模块可以解决该问题,不过没找到,所以自己简单写了个函数处理:

def tranform(inputString):

  num_value = re.compile('^[0-9.]+([*|x][0-9]+)+[E|e|^][+-]?[0-9]+$')

  result = num_value.match(inputString)

  if result:
    temp1 = float(1)
    res = re.match('^[0-9.]+([*|x][0-9]+)+', inputString)
    if (not res is None) and len(str(result)) > 0:
      if len(re.split('[*|x]', res.group(0))) > 1:
        for a in re.split('[*|x]', res.group(0)):
          temp1 = temp1 * float(a)
    temp2 = re.findall('[E|e|^][+-]?[0-9]+$', inputString)[0]
    inputTemp = str(temp1) + str(temp2)
    val = float(inputTemp.replace('^', 'E'))/10
    num_value = re.compile('^[-+]?[0-9]+\.?[0-9]?$')
    result = num_value.match(str(val))
    if result:
      return val

 

如有问题,望纠正.当然有更好更简单的方法欢迎提出

转载于:https://www.cnblogs.com/ultimateWorld/p/9810282.html

你可能感兴趣的文章
TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?...
查看>>
Redis系列--内存淘汰机制(含单机版内存优化建议)
查看>>
最小二乘法
查看>>
iptables端口转发
查看>>
金融三问
查看>>
HTML5新API记录
查看>>
Android 8 AudioPolicy 分析
查看>>
Java Web开发后端常用技术汇总
查看>>
How to use jQuery countdown plugin
查看>>
富文本常用封装(NSAttributedString浅析)
查看>>
c++ STL
查看>>
json数据在前端(javascript)和后端(php)转换
查看>>
[Serializable]的应用--注册码的生成,加密和验证
查看>>
Groovy中那些神奇注解之ToString
查看>>
宇宙第一开发工具:vs2019 开发Python
查看>>
Tomcat Https配置
查看>>
待续--mysql中key 、primary key 、unique key 与index区别
查看>>
Day19内容回顾
查看>>
bootstrap分页
查看>>
洛谷 P1144 最短路计数 解题报告
查看>>