码迷,mamicode.com
首页 > 编程语言 > 详细

Python 把字符串变成浮点数

时间:2018-03-24 22:35:45      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:port   return   一个   取数   fun   gpo   字符   浮点数   小数   

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 把字符串变成浮点数

标签:port   return   一个   取数   fun   gpo   字符   浮点数   小数   

原文地址:https://www.cnblogs.com/guiyuhua/p/8641490.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!