用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - python代码库

字符串转浮点型

2018-11-10 作者:jack_Ding举报

[python]代码库

# -*- coding: utf-8 -*-
from functools import reduce
digits = {'.':-1, '0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}

def str2float(s):
    nums=map(lambda ch:digits[ch],s)
    point = 0
   # print(list(nums))# <map object at 0x03781750>
    def t_float(f,n):
        nonlocal point
        if n == -1:
            point = 1
            return f
        if point == 0 :
            return f*10+n
        else :
            point = point *10
            return f + n/ point
    return reduce(t_float,nums,0.0)
        

print('str2float(\'123.456\') =', str2float('123.456'))
if abs(str2float('123.456') - 123.456) < 0.00001:
    print('测试成功!')
else:
    print('测试失败!')


分享到:
更多

网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。