Python 把字符串变成浮点数

Posted edwardgui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 把字符串变成浮点数相关的知识,希望对你有一定的参考价值。

from functools import reduce
di = {}
di.update(zip(‘1234567890.‘, [1,2,3,4,5,6,7,8,9,0,‘.‘]))

def str2float(s):
  st = s.split(‘.‘)
  st1 = reduce(lambda x,y: 10*x + y, map(lambda x: di[x], st[0]))
  try:
    st2 = reduce(lambda x,y: (x*0.1 + y), map(lambda x: di[x], st[1][::-1]))/10

    #st2 = reduce(lambda x,y: (x*0.1 + y), map(lambda x: di[x]/10, st[1][::-1]))  #也可以在取数的时候变成一个一位小数
  except:
    st2=0

  return st1 + st2

st = ‘123.456‘
a = str2float(st)
print(a, type(a))

运行结果:

123.456 <class ‘float‘>











以上是关于Python 把字符串变成浮点数的主要内容,如果未能解决你的问题,请参考以下文章

如何把浮点数转换成字符串?

FORTRAN里怎样把数值类型(整数,浮点数)转换为字符串

Java中怎么把浮点数转变成整数只保留整数部分

python怎么把字符串变成数字格式化

从错误中学python————字符串转浮点数

Python保留浮点数位数和整数补0的方法