这是华氏度转换为摄氏度的过程。我将其设置为2个小数点作为输出,但可以说用户输入50,它将显示为10.00。我如何才能将其显示为不含小数的10,而当它不是整数时允许小数?
temp = float(input(" Fahrenheit temperature: "))
celsius = float((5/9)*(temp - 32))
print("The temperature in celsius is: {:.2f}°.".format(celsius))
答案 0 :(得分:1)
您可以尝试以下操作:
temp = float(input(" Fahrenheit temperature: "))
celsius = float((5/9)*(temp - 32))
if (celsius % 1 == 0):
print("The temperature in celsius is: {}°.".format(celsius))
else:
print("The temperature in celsius is: {:.2f}°.".format(celsius))
if
条件检查您是否有整数。
答案 1 :(得分:0)
您需要单独执行此操作,因为“足够接近”到50以显示为50是特定于应用程序的。
if abs(celsius % 1) < 0.001 # Or whatever threshold you want:
print("The temperature in celsius is: {:d}°.".format(int(celsius//1)))
else:
print("The temperature in celsius is: {:.2f}°.".format(celsius))
答案 2 :(得分:0)
尝试一下:
def doTheThing(number):
numString = str(number)
i = len(numString) -1
while True:
if numString[i] == ".":
numString = numString[:-1] #remove the .
break
if numString[i] == "0":
numString = numString[:-1] #remove the 0
else:
break
i-=1
print(numString)
x = 10.0
doTheThing(x)
这将打印10,而常规打印将返回10.0
也许有更好的方法,但这可行;)
答案 3 :(得分:-2)
您可以在打印时尝试将摄氏度转换为整数:
print("The temperature in celsius is :{:.2f}°.".format(int(celsius)))