当没有额外的精度来表示数字时,Python中是否有一种方法只能打印浮点数的整数部分?例如,浮点数1.0。其他一些语言默认执行此操作。以下是一些例子:
在C ++中,此代码打印1,而不是1.0:
int main()
{
float f = 1.0;
std::cout << f << "\n";
return 0;
}
./a.out
1
但是,在Python中,此代码打印1.0:
f = 1.0
print type(f)
<type 'float'>
print f
1.0
我希望Python代码只打印1而不是1.0,只需要完全代表数字就可以了。
答案 0 :(得分:5)
使用g
格式化选项:
print "{:g}".format(1.0)
或
print "%g" % 1.0
(第一个选项仅适用于Python 2.7。)
这与默认配置中的std::cout
非常相似。它只会打印有限数量的数字,就像std::cout
。
答案 1 :(得分:0)
模运算符应适用于所有Python版本:
>>> f = 1.0
>>> if f % 1 == 0:
... print int(f)
... else:
... print f
...
1
>>>