python 科学计数法转数值

猜测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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值