[英]Python and Floats - Print only the Whole Number
在 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,而这正是完全表示该数字所需的全部内容。
使用g
格式化选项:
f = 1.0
print(f"{f:g}") # Python 3.6 and above
要么
print "{:g}".format(f)
要么
print "%g" % f
这与默认配置中的std::cout
非常相似。 它只会打印有限数量的数字,就像std::cout
一样。
模运算符应该适用于所有 Python 版本:
>>> f = 1.0
>>> if f % 1 == 0:
... print int(f)
... else:
... print f
...
1
>>>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.