说我有一个浮点数。如果它是一个整数(例如1.0,9.0,36.0),我想删除" .0(小数点和零)"并写信给stdout。例如,结果将是1,9,36。如果浮点数是有理数,例如2.5335和95.5893,我希望输出与输入的一样,意味着2.5335和95.5893。有一种聪明的方法吗?
只有数字在小数位上有.0或其他数字才有意义。我可以说我的问题是:我怎么知道浮点数是否实际上是一个整数?
我想用它来决定目录名称。例如,如果我输入9.0和2.45,请创建两个目录,dir9和dir2.45。
答案 0 :(得分:3)
这是一个按照您希望的方式格式化数字的功能:
def formatNumber(num):
if num % 1 == 0:
return int(num)
else:
return num
例如:
formatNumber(3.11111)
返回
3.11111
formatNumber(3.0)
返回
3
答案 1 :(得分:1)
您可以结合之前的两个答案:
>>>formatNumber(5)
5
>>>formatNumber(5.23)
5.23
>>>formatNumber(6.0)
6
5
答案 2 :(得分:1)
答案 3 :(得分:0)
正义类型 int(数字) 示例:
int(3.0)
返回
3