python float函数字符串转换浮点数 保留位数

>>> x = "24.412"
>>> float(x)
24.412

怎么样可以把字符串用float函数转换成浮点数并保留一定位数
如 最后结果为24.412000
位数不足后面用0补齐

python中,float函数属于内置函数,其实在底层是调用了C的库。

C库中有直接送字符串转float的函数。就是atof函数。

atof具体的实现比较复杂,可以搜索 “atof 源码” 自己学习。

字符串转int也是同理,调用C库中的atoi函数。首先学习一下C和计算机组成原理。懂得这些在内存中实际是怎么存储的。然后学习一下编译原理,从而了解高级语言的解释。

扩展资料:

由于Python语言的简洁性、易读性以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。

众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:

NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序

2018年3月,该语言作者在邮件列表上宣布Python 2.7将于2020年1月1日终止支持。用户如果想要在这个日期之后继续得到与Python 2.7有关的支持,则需要付费给商业供应商。

参考资料来源:百度百科-Python

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-12
int函数能够
(1)把符合数学格式的数字型字符串转换成整数
(2)把浮点数转换成整数,但是只是简单的取整,而非四舍五入。

举例:

1 aa = int("124") #Correct
2 print "aa = ", aa #result=124
3 bb = int(123.45) #correct
4 print "bb = ", bb #result=123
5 cc = int("-123.45") #Error,Can't Convert to int
6 print "cc = ",cc
7 dd = int("34a") #Error,Can't Convert to int
8 print "dd = ",dd
9 ee = int("12.3") #Error,Can't Convert to int
10 print ee
11

二、float函数将整数和字符串转换成浮点数。

举例:

1 aa = float("124") #Correct
2 print "aa = ", aa #result = 124.0
3 bb = float("123.45") #Correct
4 print "bb = ", bb #result = 123.45
5 cc = float(-123.6) #Correct
6 print "cc = ",cc #result = -123.6
7 dd = float("-123.34") #Correct
8 print "dd = ",dd #result = -123.34
9 ee = float('123v') #Error,Can't Convert to float
10 print ee

三、str函数将数字转换成字符

举例:

1 aa = str(123.4) #Correct
2 print aa #result = '123.4'
3 bb = str(-124.a) #SyntaxError: invalid syntax
4 print bb
5 cc = str("-123.45") #correct
6 print cc #result = '-123.45'
7 dd = str('ddd') #correct
8 print dd #result = ddd
9 ee = str(-124.3) #correct
10 print ee #result = -124.3
第2个回答  推荐于2017-09-03
round(float(x), 6)

 你要保留结尾的0的话,不能存成float数据,float会自动去掉末尾的0

 你需要保存你的结果为string或者decimal.Decimal

 string的话:

"%.6f" % float(x)

  decimal的话:

import decimal
decimal.Decimal("%.6f" % float(x))

本回答被提问者采纳
第3个回答  2014-04-10
float('%.4f'% x)

追问

这个不行,报错

第4个回答  2014-04-11
二楼加一,全面
相似回答