我的代码,
print ("Welcome to the Imperial to Metric converter")
choice = int(input("For Fahrenheit to Celsius press 1, Feet to Meters press 2, Pounds to Kilograms press 3: "))
if choice != 1 and 2 and 3:
print ("Choose a valid function")
else:
value = float(input("Select the value you wish to convert: "))
def convert(value):
if choice == 1:
return (value - 32) * (5/9)
elif choice == 2:
return value / 3.2808
elif choice == 3:
return value / 2.2046
print ("%.2f" %(float(convert(value))))
这是我到目前为止所拥有的,并希望将答案打印到用户将值设置为的任何小数位,假设他们想转换
42.78
华氏度我想给出答案为 xx.xx
最佳答案
您可以使用 round()
,它可以让您更轻松地指定小数位:
>>> round(1.23234, 2)
1.23
因此,要将其应用于您的代码,您需要首先将它们的输入存储为
string
,以便您可以计算出要舍入的数量,然后在最后舍入:print ("Welcome to the Imperial to Metric converter")
choice = int(input("For Fahrenheit to Celsius press 1, Feet to Meters press 2, Pounds to Kilograms press 3: "))
if choice not in (1, 2, 3):
print ("Choose a valid function")
else:
s = input("Select the value you wish to convert: ")
value = float(s)
def convert(value):
if choice == 1:
return (value - 32) * (5/9)
elif choice == 2:
return value / 3.2808
elif choice == 3:
return value / 2.2046
print(round(float(convert(value)), len(s.split(".")[1])))
当我输入时:
count <== 1
value <== 567.123
给出了正确的结果:
297.291
关于python - 我如何将浮点数打印到python中用户指定值的小数位,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47838333/