C++ Python和Floats-仅打印整数

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

在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 "{: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,因此我需要为答案做更多的挖掘。