当前位置: 首页 > 面试题库 >

Python打印出浮点数或整数

夹谷成仁
2023-03-14
问题内容

如果结果为小数,如何打印浮点数;如果结果没有小数,如何打印整数?

c = input("Enter the total cost of purchase: ")
bank = raw_input("Enter the bank of your credit card (DBS, OCBC, etc.): ")
dbs1 = ((c/float(100))*10)
dbs2 = c-dbs1
ocbc1 = ((c/float(100))*15)
ocbc2 = c-ocbc1


if (c > 200):
    if (bank == 'DBS'):
        print('Please pay $'+str(dbs2))
    elif (bank == 'OCBC'):
        print('Please pay $'+str(ocbc2))
    else:
        print('Please pay $'+str(c))
else:
    print('Please pay $'+str(c))

exit = raw_input("Enter to exit")

示例结果

Enter the total cost of purchase: 250
Enter the bank of your credit card (DBS, OCBC, etc.): OCBC
Please pay $212.5

Enter the total cost of purchase: 250
Enter the bank of your credit card (DBS, OCBC, etc.): DBS
Please pay $225.0

问题答案:

您可以尝试使用简单的Python字符串格式化方法:

if int(c) == float(c):
    decimals = 0
else:
    decimals = 2 # Assumes 2 decimal places for money

print('Please pay: ${0:.{1}f}'.format(c, decimals))

如果满足以下条件,将为您提供以下输出c == 1.00

Please pay: $1

或此输出,如果c == 20.56

Please pay: $20.56


 类似资料:
  • 问题内容: 我需要输出4个不同的浮点数到小数点后两位。 这就是我所拥有的: 这是非常不干净的,看起来很糟糕。是否有办法在输出’%.2f’中进行浮动? 注意:使用Python 2.6。 问题答案: 好吧,我至少会清理如下:

  • 问题内容: 这是故意的吗?我强烈记得以前的版本返回了吗?我该怎么办,有没有新的分公司运营商,或者我必须始终选拔? 问题答案: 更改除法运算符

  • 有可能有一个返回整数或浮点的函数吗?如果可能的话,我想把这两个函数合二为一:

  • 问题内容: 我有一个以指数形式输出的数字: 如何使它以普通格式打印? 问题答案: 您可以将其格式化为定点数字。

  • 问题内容: 我很困惑为什么在这种情况下python为什么要添加一些额外的十进制数,请帮助解释 问题答案: 浮点数是一个近似值,它们不能精确存储十进制数。因为它们试图仅用64位表示很大范围的数字,所以它们必须在某种程度上近似。 意识到这一点非常重要,因为它会导致一些怪异的副作用。例如,你可能会非常合理认为,十批的总和会。尽管这似乎合乎逻辑,但在浮点数方面也是错误的: 您可能会认为。浮点世界再次不同意

  • 我可以用< code>System.out.print来做吗?