0

数値を表現するために追加の精度が必要ない場合に、Python でフロートの整数部分のみを出力する方法はありますか? たとえば、float 1.0. 他の一部の言語では、デフォルトでこれが行われます。ここではいくつかの例を示します。

C++ では、このコードは 1.0 ではなく 1 を出力します。

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.0 ではなく 1 のみを出力するようにしたいのですが、それが数値を完全に表すために必要なすべての場合です。

4

2 に答える 2

5

gフォーマット オプションを使用します。

print "{:g}".format(1.0)

また

print "%g" % 1.0

(最初のオプションは Python 2.7 でのみ機能します。)

std::coutこれは、デフォルト構成と非常によく似た処理を行います。のように、限られた桁数のみを出力しますstd::cout

于 2012-04-04T11:58:51.600 に答える
0

モジュロ演算子は、すべての Python バージョンで機能するはずです。

>>> f = 1.0
>>> if f % 1 == 0:
...     print int(f)
... else:
...     print f
... 
1
>>> 
于 2012-04-04T12:00:44.440 に答える