を変換する 浮く の価値 整数 によって行われます 型変換 これは、オペランドを特定の型に変換する明示的な方法です。ただし、このようなタイプの変換は損失の多い変換 (データの損失) になる傾向があることに注意してください。 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>