qhnw.net
当前位置:首页 >> python字符串转浮点数 >>

python字符串转浮点数

你的结果更正确.不用怀疑.他们的结果太老旧了.浮点数是有一点点误差.但不至于差成这样子.可能他的计算机是32位的.你是64位的.python2.5也比python2.7差远了. 所以有错误也是正常的.浮点数不能精确对比.不过这种情形似乎在python2.7上神奇的有所改善.也许真的可以用==比较了.最大可能还是他的计算机差.C语言库里的浮点数误差大.

其实自己比较用的多的是:raw_input()默认接受的是字符串,而后边需要的数字,所以就需要进行类型转换.浮点型:input_num = float(raw_input())整型:input_num = int(raw_input())当然,如果是一个确定的转换a = 3c = float(a) or c = float(3)

>>> a = "545.2222">>> float(a) 用float函数即可.

int函数能够 (1)把符合数学格式的数字型字符串转换成整数 (2)把浮点数转换成整数,但是只是简单的取整,而非四舍五入.举例:1 aa = int("124") #Correct2 print "aa = ", aa #result=1243 bb = int(123.45) #correct4 print "bb = ", bb

n = raw_input('enter: ') if '.' in n: print float(n) else: print int(n)

举个例子def a(): return 1#如果我们要把这个1变成浮点,我们可以b = fload(a())#或者在return 那行就变成floatdef a(): return float(a)

input 字符串然后再转换f=eval('2.3')i=int('2')

c=float(a)+float(b)if int(c) == c: print(int(c))print(c)

import rea = input('input your string:\n')at = re.sub('[^\d\+]', '', a) #用正则表达来式消去输入中的字自母try: print('result:{}={}'.format(at, eval(at))) #eval是自带函2113数,会帮5261你算是多少except: print('result: error') #如果eval报错,表示加4102号两边都为字符1653

可以这样,用struct模块(注意字节序):import structs='\x43\x5C\x80\x00'print struct.unpack('!f',s)[0]

网站首页 | 网站地图
All rights reserved Powered by www.qhnw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com