web-dev-qa-db-ja.com

Python:除算小数を削除

私は数字を分割してから数字を返すプログラムを作成しましたが、問題は数字を返すとき、次のような小数を持つことです:

2.0

しかし、私はそれが私に与えたいです:

2

とにかくこれを行うことができますか?

前もって感謝します!

24
Arctoran

最終結果でint()を呼び出すことができます:

>>> int(2.0)
2
45
TerryA

数値が10進数の場合、通常Pythonでは float です。

小数点を削除して整数のままにする場合( int )。 int()メソッドを次のように呼び出すことができます...

_>>> int(2.0)
2
_

ただし、intdownを丸めます...

_>>> int(2.9)
2
_

最も近い整数に丸めたい場合は、 round を使用できます。

_>>> round(2.9)
3.0
>>> round(2.4)
2.0
_

そして、その上でint()を呼び出します:

_>>> int(round(2.9))
3
>>> int(round(2.4))
2
_
26
Inbar Rose

あなたはおそらく以下のようにすることができます

# p and q are the numbers to be divided
if p//q==p/q:
    print(p//q)
else:
    print(p/q)
2
Himanshu
>>> int(2.0)

あなたは2として答えを得るでしょう

1
def devision(a, b):
    return a / b if a % b else a // b
0
delloff

これを分割する数学関数modf()もあります。

_import math

print("math.modf(3.14159) : ", math.modf(3.14159))
_

タプルを出力します:math.modf(3.14159) : (0.14159, 3.0)

これは、次のように参照用に全体と小数の両方を保持する場合に便利です。

decimal, whole = math.modf(3.14159)

0
Race