logo

Python で Float を Int に変換するにはどうすればよいですか?

を変換する 浮く の価値 整数 によって行われます 型変換 これは、オペランドを特定の型に変換する明示的な方法です。ただし、このようなタイプの変換は損失の多い変換 (データの損失) になる傾向があることに注意してください。 int 値を次のように変換すると、 2 浮動小数点に変換すると、次のようになります 2.0 、このような種類の変換はデータの損失がないため安全ですが、 3.4 int 値にすると、次のようになります 3 損失のある変換につながります。
例:

 Input:  3.3 Output:  3 Input:  5.99 Output:  5>

方法 1: を使用した変換 int() :



float 値を int に変換するには、 組み込みの int() 関数と同様に、この関数は小数点以下の値を切り捨て、整数/整数部分のみを返します。

構文: int(x)

戻る: 整数値



例 1: 種類数 浮く 型の結果に変換されます 整数

Python3






# conversion from float to int> num>=> 9.3> # printing data type of 'num'> print>(>'type:'>,> >type>(num).__name__)> # conversion to int> num>=> int>(num)> # printing data type of 'num'> print>(>'converted value:'>, num,> >', type:'>,>type>(num).__name__)>

>

>

出力

type: float converted value: 9 , type: int>

例 2: ほとんどの場合、int() 関数は結果を入力値以下の整数に四捨五入しますが、その動作は明確ではなく、予測可能でもありません。その一例を以下に示します。

Python3




# example of unpredictable> # behaviour of int()> num1>=> 5.9> num2>=> 5.99999999999999999999> num1>=> int>(num1)> num2>=> int>(num2)> print>(num1, num2, sep>=> ' '>)>

>

>

出力

5 6>

方法 2: を使用した変換 math.floor() そして math.ceil()

float 値は、 math.floor() 関数を使用して入力値以下の int 値に変換できます。一方、 math.ceil() を使用して、入力より大きい最小の整数である int 値に変換することもできます。関数。これらのメソッドを使用するには、数学モジュールをインポートする必要があります。

構文: math.floor(x)

パラメータ:

バツ: これは数値式です。

戻り値: x 以下の最大の整数。

構文: math.ceil(x)

設定メニューアンドロイド

パラメータ:

バツ: これは数値式です。

戻り値: x以上の最小の整数。

例 : 以下の例では、float から int への変換は、floor() メソッドと ceil() メソッドを使用して実現されています。前者は入力より大きくない int を返し、後者は入力より大きい最小の整数を返します。

Python3




# conversion using floor and ceil .> # importing math module> import> math> num>=> 5.6> floor_value>=> math.floor(num)> ceil_value>=> math.ceil(num)> print>(>'the result using floor() : '>,> >floor_value ,> >', type : '>,>type>(floor_value).__name__)> print>(>'the result using ceil() : '>,> >ceil_value,> >', type: '>,>type>(ceil_value).__name__)>

>

>

出力

the result using floor() : 5 , type : int the result using ceil() : 6 , type: int>

方法#3: を使用した変換 ラウンド( )

第 2 パラメータを渡さない場合、float 値は最も近い整数値である int 値に変換できます。差が等しい場合は、より大きな整数に近づきます。

構文:round(x)

パラメータ:

×:数値式です。

戻り値: 最も近いものの整数倍。

例: 以下の例では、float から int への変換は、round() メソッドを使用して実現されています。前者は、number に最も近い int 数値を返します。

Python3




# conversion using round.> > num>=> 5.6> # Before conversion value and type> print>(>'Type : '>,>type>(num).__name__)> print>(>'Original number is : '>, num)> # conversion to int> value>=> round>(num)> print>(>'Type : '>,>type>(value).__name__)> print>(>'the result using round : '>,value)>

>

>

出力

Type : float Original number is : 5.6 Type : int the result using round : 6>

方法#4: math.trunc( ) を使用した変換。

float 値は int 値に変換できます。負の数の場合は数学ライブラリのceiling関数のように動作し、正の数の場合はfloor関数のように動作します。

構文: math.trunk(x)

パラメータ:

×:数値式です。

戻り値: 負の数の場合はより大きな整数、正の数の場合はより小さな数。

例 : 以下の例では、float から int への変換は math.trunc() メソッドを使用して実現されています。前者は負の数の場合はより大きな int 数値を返し、正の数の場合はより小さい整数を返します。

Python3




# conversion using math.trunc().> > import> math> num>=> 5.6> num2>=> ->2.6> # conversion of negative number to int> value>=> math.trunc(num2)> print>(>'Type of value : '>,>type>(value).__name__)> print>(>'the result using round : '>,value)> # conversion of positive number to int> data>=> math.trunc(num)> print>(>'Type of data: '>,>type>(data).__name__)> print>(>'the result using round : '>,data)> >

>

>

出力

Type of value : int the result using round : -2 Type of data: int the result using round : 5>