【C言語】double型とint型の値を変換(キャスト)する方法

目次から探す

double型からint型への変換方法

double型からint型への変換は、C言語においてよく使用される操作です。

double型は浮動小数点数を表し、int型は整数を表します。

double型からint型への変換にはいくつかの方法があります。

以下では、キャスト演算子、floor関数round関数を使った変換方法について説明します。

キャスト演算子を使った変換方法

キャスト演算子を使って、double型の値をint型に変換することができます。

キャスト演算子は、変換したい型を括弧で囲んで変数の前に置くことで使用します。

double num = 3.14;
int result = (int)num;

上記の例では、変数numに3.14という値が格納されています。

キャスト演算子(int)を使って、numの値をint型に変換し、変数resultに代入しています。

この場合、resultには3が格納されます。

floor関数を使った変換方法

floor関数は、引数として与えられた浮動小数点数以下を切り捨てた整数を返す関数です。

この関数を使って、double型の値をint型に変換することができます。

#include <math.h>
double num = 3.14;
int result = floor(num);

上記の例では、math.hヘッダファイルをインクルードしています。

numの値をfloor関数に渡し、その結果をint型変数resultに代入しています。

この場合、resultには3が格納されます。

round関数を使った変換方法

round関数は、引数として与えられた浮動小数点数を四捨五入した整数を返す関数です。

この関数を使って、double型の値をint型に変換することができます。

#include <math.h>
double num = 3.14;
int result = round(num);

上記の例では、math.hヘッダファイルをインクルードしています。

numの値をround関数に渡し、その結果をint型変数resultに代入しています。

この場合、resultには3が格納されます。

以上が、double型からint型への変換方法の一部です。

適切な変換方法を選び、プログラムの要件に応じて使用してください。

※キャスト演算子を使った変換方法は、小数点以下の値を切り捨てるため、注意が必要です。

floor関数round関数を使うことで、より正確な変換が可能です。

int型からdouble型への変換方法

int型からdouble型への変換は、整数値を浮動小数点数に変換する方法です。

C言語では、以下の2つの方法を使ってint型からdouble型への変換が行えます。

キャスト演算子を使った変換方法

キャスト演算子を使って、int型の変数をdouble型に変換することができます。

キャスト演算子は、変換したい型を括弧で囲んで変数の前に置くことで使用します。

int num = 10;
double result = (double)num;

上記の例では、int型変数numdouble型に変換して、変数resultに代入しています。

キャスト演算子を使うことで、int型の値がdouble型に変換されます。

式中での自動変換

C言語では、演算子を使った計算式の中で、int型double型が混在している場合に、自動的にint型double型に変換されます。

この自動変換は、int型の値がdouble型に暗黙的に変換されることを意味します。

int num1 = 10;
double num2 = 3.14;
double result = num1 + num2;

上記の例では、int型変数num1double型変数num2を足し合わせて、結果をdouble型変数resultに代入しています。

この場合、int型の値が自動的にdouble型に変換されて計算が行われます。

自動変換は、演算子の種類によっても異なる結果が得られることに注意してください。

例えば、割り算の場合は、int型同士の計算でも結果はdouble型になります。

以上がint型からdouble型への変換方法です。

キャスト演算子を使った明示的な変換や、式中での自動変換を活用して、適切な型変換を行いましょう。

※キャスト演算子を使った変換方法では、変換元のint型の値が小数点以下を持たない場合でも、double型に変換されることに注意してください。

1 2

当サイトはリンクフリーです。出典元を明記していただければ、ご自由に引用していただいて構いません。

この記事のページ一覧
  1. 現在のページ
目次から探す