老虚12138 发表于 2019-4-21 12:01:18

Python新手求助, 关于保留小数的问题

a = 1.234
b = 2.333333333
c = 5

如何保留4位小数并且不足四位小数的填充0
a = 1.2340
b = 2.3333
c = 5.0000
不需要在乎四舍五入
求各位大神帮助!

jackz007 发表于 2019-4-21 12:12:39

a = 1.234
b = 2.333333333
c = 5

print '%.4f , %.4f , %.4f' %(a , b , c)

cwhsmile 发表于 2019-4-21 12:40:49

python3.6以上版本新的写法    f'{a:.4f}'       f'{b:.4f}'      f'{c:.4f}'

老虚12138 发表于 2019-4-21 12:46:40

jackz007 发表于 2019-4-21 12:12
a = 1.234
b = 2.333333333
c = 5


大佬,这个出来的结果是str类型的,能把它变成float类型且依然保留0在尾部吗

老虚12138 发表于 2019-4-21 12:48:44

cwhsmile 发表于 2019-4-21 12:40
python3.6以上版本新的写法    f'{a:.4f}'       f'{b:.4f}'      f'{c:.4f}'

大佬,这个出来的结果是str类型的,能把它变成float类型且依然保留0在尾部吗

cwhsmile 发表于 2019-4-21 13:12:29

老虚12138 发表于 2019-4-21 12:48
大佬,这个出来的结果是str类型的,能把它变成float类型且依然保留0在尾部吗

round函数了解以下

老虚12138 发表于 2019-4-21 13:17:32

cwhsmile 发表于 2019-4-21 13:12
round函数了解以下

>>> round(1.234, 4)
1.234
>>> round(1.234, 2)
1.23
>>> round(2.33333333, 4)
2.3333
>>> round(5, 4)
5

emmmm...我也有试过,似乎并不能保留0在尾部

游泳游飞快 发表于 2019-4-21 13:23:56

关注一下,遇到了类似的问题{:10_291:}

TCY 发表于 2019-4-21 13:37:59

我想说一下,你这个需求无法实现!!!!
这是因为float会自动去掉末尾的0……

jackz007 发表于 2019-4-21 14:08:31

老虚12138 发表于 2019-4-21 12:46
大佬,这个出来的结果是str类型的,能把它变成float类型且依然保留0在尾部吗

      你不是想看到这种形式的表达吗?看的东西突出的是形式,就应该是字符串!

      在计算机的所有数值类型的变量中,只有整型数才能做到精确表达分毫不差,浮点数在任何计算机语言中都绝对不能,这个应该很容易理解,因为浮点数都是32位,也就是4个字节,能表达不同数字的个数是有限的,不可能对浮点数做到任意精度表达,就好像一把尺子,通过有限的刻度和精度来衡量物体长度,却永远无法做到无误差精确衡量的道理一样。

13572044595 发表于 2019-4-21 14:15:08

给你一个链接,希望能帮到你:
http://www.runoob.com/python/att-string-format.html

老虚12138 发表于 2019-4-21 14:34:40

emmm...那问个非常具体的问题
list = [, , , ]
如何变成
[, , , ]
不要引号的

jackz007 发表于 2019-4-22 22:47:04

      楼主,你知道有个成语叫“缘木求鱼”吗,说的就是你!
页: [1]
查看完整版本: Python新手求助, 关于保留小数的问题