所以我有一个简单的等式,用于舍入作为float导入函数的数字。只是输入导入的数字是53.3
它应该仍然认为它是一个“整数”,但是当我没有将它设置为浮点数时我就把它设置为整数,因为它有一个“。”
有什么想法吗?
def cm(centimeter):
result = round(centimeter / 100, 2)
print ("%d centimeters is the same as %d meters." % (centimeter, result))
print (result)
cent=input("Centimeters: ")
cm(float(cent))
问题是这是它输出的内容:
Centimeters: 53.6
53 centimeters is the same as 0 meters.
0.54
它应该是这样的:
Centimeters: 53.6
53.6 centimeters is the same as 0.54 meters.
取出打印(结果),我的不好。它仍然会将其舍入到0米,但是当它不应该看到结果如何输出为0.54时。
答案 0 :(得分:3)
问题在于您的print
功能。
你想说:
print ("%.2f centimeters is the same as %.2f meters." % (centimeter, result))
%d
将变量格式化为整数; %f
将其格式化为浮点数。 .2
设置精度:它显示的小数位数。
答案 1 :(得分:1)
让你的功能如下:
def cm(centimeter):
result = round(centimeter / 100, 2)
print ("%s centimeters is the same as %.2f meters." % (centimeter, result))
演示:
Centimeters: 53.6
53.6 centimeters is the same as 0.54 meters.
另请注意,我选择在开始时使用%s
而不是%.2f
。这样输出将显示整个输入,而不是圆形版本。这意味着,如果用户输入53.006
之类的内容,则会显示53.006
而非53.01
。