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‘>

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

时间: 2024-11-06 21:18:35

Python 把字符串变成浮点数的相关文章

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

题目 自己编写函数:利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456: 题目来源--致敬廖雪峰 解决过程 初步的解决方法 def str2float(s): def char2num(s): return {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}[s] #这事实上是一个字典 index_point=s.find('.') if index_point==-

Python判断字符串是否为字母或者数字(浮点数)

str为字符串s为字符串 str.isalnum() 所有字符都是数字或者字母 str.isalpha() 所有字符都是字母 str.isdigit() 所有字符都是数字 str.isspace() 所有字符都是空白字符.\t.\n.\r 检查字符串是数字/浮点数方法 float部分 >> float('Nan') nan >> float('Nan') nan >> float('nan') nan >> float('INF') inf >>

Python格式化字符串

在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作符,非常类似C语言里的printf()函数的字符串格式化(C语言中也是使用%). 下面整理了一下Python中字符串格式化符合: 格式化符号 说明 %c 转换成字符(ASCII 码值,或者长度为一的字符串) %r 优先用repr()函数进行字符串转换 %s 优先用str()函数进行字符串转换 %d / %i 转成有符号十进制数 %u

Python格式化字符串~转

Python格式化字符串 在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作符,非常类似C语言里的printf()函数的字符串格式化(C语言中也是使用%). 下面整理了一下Python中字符串格式化符合: 格式化符号 说明 %c 转换成字符(ASCII 码值,或者长度为一的字符串) %r 优先用repr()函数进行字符串转换 %s 优先用str()函数进行字符串转换 %d / %i

python 之字符串和编码

字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节.比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295. 由于计算机是美国人发明的,因此,最早只有1

Python基础-字符串格式化_百分号方式_format方式

Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This PEP proposes a new system for built-in string formatting operations, intended as a replacement for the existing '%' string formatting operator. 1.百分号

Python格式化字符串的替代符与转义字符

                                               Python格式化字符串的替代符以及含义     符   号     说     明       %c  格式化字符及其ASCII码       %s  格式化字符串       %d  格式化整数       %u  格式化无符号整型       %o  格式化无符号八进制数       %x  格式化无符号十六进制数       %X  格式化无符号十六进制数(大写)       %f  格式化浮点

python(七)字符串格式化、生成器与迭代器

字符串格式化 Python的字符串格式化有两种方式:百分号方式.format方式 1.百分号的方式 %[(name)][flags][width].[precision]typecode (name)      可选,用于选择指定的key flags          可选,可供选择的值有: +       右对齐:正数前加正好,负数前加负号: -        左对齐:正数前无符号,负数前加负号: 空格    右对齐:正数前加空格,负数前加负号: 0        右对齐:正数前无符号,负数前

python学习---字符串

单引号,双引号,三引号,原型字符串几种形式 1.创建字符串:单引号,双引号,str()几种创建方式 2.访问子串:切片方式 3.修改或者说更新字符串:“+”运算,给字符串内容增加一个长度的字符串:重新赋值方式: 4.删除子串:切片做“+”运算(aString = aString[:3] + aString[4:]),del语句删除字符串,或者给字符串赋值空(“”) 5.对字符串应用成员操作符in或者 not in 返回True 或者False 6.编译时字符串连接,上面的语法在运行时字符串连接的