x="1,234.00"
y =x.replace(',','')
k = float(y)
print k
输出= 1234.0但我需要1234.00的值 请解决这个问题
答案 0 :(得分:0)
1234.0和1234.00之间的价值没有差异。您不能在浮点数中保存更多或更少的非重要数字。
但是,您可以打印更多或更少(非)有效数字。在旧版本的python中,您可以使用%
方法(documentation)。在Python 2.7及更高版本中,使用string format method。一个例子:
f = float('156.2')
# in Python 2.3
no_decimals = "%.0f" % f
print no_decimals # "156" (no decimal numbers)
five_decimals = "%.5f" % f
print five_decimals # "156.20000" (5 decimal numbers)
# in Python 2.7
no_decimals = "{:.0f}".format(f)
print no_decimals # "156" (no decimal numbers)
five_decimals = "{:.5f}".format(f)
print five_decimals # "156.20000" (5 decimal numbers)
如果由于某种原因无法访问打印值的代码,您可以创建自己的类,继承自float
并提供您自己的__str__
值。这可能会打破一些行为(它不应该,但它可以),所以要小心。这是一个例子:
class my_float(float):
def __str__(self):
return "%.2f" % self
f = my_float(1234.0)
print f # "1234.00"
(我在Python 2.7上运行,我没有安装2.3;请考虑将Python升级到2.7或3.5; 2.3严重过时。)