C++ Python和Floats-仅打印整数
在Python中,当不需要额外的精度来表示数字时,是否有一种方法可以只打印浮点的整数部分?例如,浮点1.0。默认情况下,其他一些语言也会这样做。以下是一些例子: < C++中,此代码打印1,而不是1:C++ Python和Floats-仅打印整数,c++,python,floating-point,C++,Python,Floating Point,在Python中,当不需要额外的精度来表示数字时,是否有一种方法可以只打印浮点的整数部分?例如,浮点1.0。默认情况下,其他一些语言也会这样做。以下是一些例子: < C++中,此代码打印1,而不是1: int main() { float f = 1.0; std::cout << f << "\n"; return 0; } ./a.out 1 intmain() { 浮点数f=1.0; std::cout使用g格式选项: print
int main()
{
float f = 1.0;
std::cout << f << "\n";
return 0;
}
./a.out
1
intmain()
{
浮点数f=1.0;
std::cout使用g
格式选项:
print "{:g}".format(1.0)
或
(第一个选项仅适用于Python 2.7。)
这与默认配置中的std::cout
非常相似。它只打印有限的数字,就像std::cout
使用g
格式选项一样:
print "{:g}".format(1.0)
或
(第一个选项仅适用于Python 2.7。)
这与默认配置中的std::cout
非常相似。它只打印有限的数字,就像std::cout
模运算符应适用于所有Python版本:
>>> f = 1.0
>>> if f % 1 == 0:
... print int(f)
... else:
... print f
...
1
>>>
modulo运算符应适用于所有Python版本:
>>> f = 1.0
>>> if f % 1 == 0:
... print int(f)
... else:
... print f
...
1
>>>
这很简单。它也能像我想的那样工作。当需要表达额外的精度时,它会这样做。谢谢你。在你的例子中,你没有任何地方包含f,因此我需要为答案做更多的挖掘。这很简单。它也能像我想的那样工作。当需要表达额外的精度时,它会这样做。谢谢你。在你的例子中,你是这样做的任何地方都不包括f,因此我需要为答案做更多的挖掘。