zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    python3 基础数据类型之列表及其操作方法
    python3 逻辑运算符
    python3 内置函数
    python3 装饰器
    python3 变量作用域
    python3 参数以及函数的传参
    python3 函数基础
    洛谷P3379倍增LCA
    洛谷P3375KMP字符串匹配
    洛谷P2613有理数取余
  • 原文地址:https://www.cnblogs.com/ultimateWorld/p/9810282.html
Copyright © 2011-2022 走看看