如何获得小数和整数的输出?

时间:2019-02-12 19:43:10

标签: python python-3.x

这是华氏度转换为摄氏度的过程。我将其设置为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))

4 个答案:

答案 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)))