C言語で小数点第二位を切り捨てる!驚きの5つのステップ

C言語で小数点第二位を切り捨てる図解C言語
この記事は約7分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

皆さんが初めてC言語でプログラミングをする際、数値を扱う上で「小数点第二位を切り捨てる」必要が出てくる場合があります。

初心者の方でもわかりやすくC言語での切り捨て処理の方法を理解していただくため、今回はその具体的な手順を5つのステップで解説します。

●C言語とは

C言語は、1970年代に開発された汎用プログラミング言語です。

その効率の良さと汎用性の高さから、さまざまな場面で利用されています。

初心者でも比較的学びやすく、他の多くの言語の基礎ともなっているため、プログラミングを始めるうえで学ぶべき言語の一つと言えます。

●小数点第二位を切り捨てるための基本的な考え方

○切り捨てとは

「切り捨て」とは、小数点以下の数値をなくして整数にする処理のことを指します。

例えば、3.14を切り捨てると3になります。

しかし、「小数点第二位を切り捨てる」となると、これは3.14を3.1にするという処理を意味します。

○C言語での切り捨て処理

C言語では、「floor」という関数を使うことで切り捨て処理を行うことができます。

小数点第二位を切り捨てるためには、一度10倍してから切り捨て、再度10で割るという手順を踏むことで実現できます。

●C言語で小数点第二位を切り捨てるステップ

小数点第二位を切り捨てる具体的な手順を5つのステップで解説します。

○ステップ1:C言語の開発環境を整える

C言語のプログラムを書くためには、まず開発環境を整える必要があります。

Windowsの場合は「Visual Studio」、Macの場合は「Xcode」などがあります。

それぞれのOSに合った開発環境をインストールしましょう。

○ステップ2:C言語の基本構文を理解する

プログラムを書くためには、その言語の基本的な構文を理解することが必要です

C言語の基本構文には、変数宣言、制御構文、関数などがあります。

○ステップ3:小数点数を扱う

C言語で小数点数を扱うには、「double」または「float」型の変数を使用します。

これらの型は小数を含む数値を扱うことができます。

○ステップ4:小数点第二位を切り捨てるコードの作成

具体的なコードの作成に移ります。

C言語で小数点第二位を切り捨てるコードは次のようになります。

#include <stdio.h>
#include <math.h>

int main() {
    double num = 3.1415;
    num = floor(num * 10) / 10;
    printf("%.1f\n", num);
    return 0;
}

このコードではまず、小数点数を扱うための変数numを宣言し、その値を3.1415に設定しています。

次に、「floor」関数を用いてnumの値を10倍した結果を切り捨て、その後で再度10で割って元の数値の小数点第二位を切り捨てています。

最後に「printf」関数を使って結果を表示しています。

○ステップ5:コードの実行と確認

最後に作成したコードを実行し、結果を確認します。上記のコードを実行すると、「3.1」と表示されるはずです。

これは、元の数値3.1415の小数点第二位を切り捨てた結果です。

このように、5つのステップを踏むことでC言語による小数点第二位の切り捨て処理を実現できます。

●小数点第二位を切り捨てる具体的なコード例

それでは、切り捨て処理の具体的なコード例をいくつか見てみましょう。

○例1:単純な切り捨て処理

先程と同じく、1つの数値に対して切り捨て処理を行うシンプルな例です。

ここではnumの値を3.76に設定し、その小数点第二位を切り捨てています。

#include <stdio.h>
#include <math.h>

int main() {
    double num = 3.76;
    num = floor(num * 10) / 10;
    printf("%.1f\n", num);
    return 0;
}

このコードを実行すると、「3.7」と表示されます。

3.76の小数点第二位を切り捨てると3.7となるため、期待通りの結果が得られます。

○例2:配列を用いた複数の数字の切り捨て処理

次に、配列を使って複数の数値に対して切り捨て処理を行う例を見てみましょう。

#include <stdio.h>
#include <math.h>

int main() {
    double numbers[] = {3.76, 4.34, 2.89};
    int length = sizeof(numbers) / sizeof(numbers[0]);

    for (int i = 0; i < length; i++) {
        numbers[i] = floor(numbers[i] * 10) / 10;
        printf("%.1f\n", numbers[i]);
    }

    return 0;
}

このコードではまず、複数の数値を格納する配列numbersを宣言し、それぞれの値に切り捨て処理を行っています。

配列の長さは「sizeof」関数を使って取得しています。

その後、「for」文を使って配列の各要素に対して切り捨て処理を行い、その結果を表示しています。

このコードを実行すると、次のような結果が得られます。

3.7
4.3
2.8

これは、それぞれの数値(3.76, 4.34, 2.89)の小数点第二位を切り捨てた結果です。

○例3:ユーザーからの入力に対する切り捨て処理

最後に、ユーザーからの入力値に対して切り捨て処理を行う例を見てみましょう。

#include <stdio.h>
#include <math.h>

int main() {
    double num;

    printf("Enter a number: ");
    scanf("%lf", &num);

    num = floor(num * 10) / 10;
    printf("Result: %.1f\n", num);

    return 0;
}

このコードでは、「scanf」関数を使ってユーザーからの入力を受け取り、その値に対して切り捨て処理を行っています。

ユーザーから入力された値はdouble型の変数numに格納され、その値に対して切り捨て処理が行われます。

このコードを実行し、例えば「3.76」と入力すると、「Result: 3.7」と表示されます。

これは、入力値3.76の小数点第二位を切り捨てた結果です。

●注意点と対処法

以上のようにC言語を使って小数点第二位を切り捨てる処理を行うことが可能ですが、注意点がいくつかあります。

まず一つ目は、浮動小数点数の誤差です。

コンピュータでは、小数点以下の数値を正確に表現することが難しいため、多少の誤差が生じることがあります。

これは「double」や「float」型の特性であり、全てのプログラミング言語で共通の問題です。

このため、数値計算の結果が絶対に正確でなければならない場合(金融系の計算など)には、別の方法を検討する必要があります。

二つ目は、「floor」関数を使うためには「math.h」をインクルードする必要がある点です。

「floor」関数は数学関数の一つであり、これを使うためには数学関数が定義されているヘッダーファイル「math.h」をプログラムにインクルードする必要があります。

まとめ

今回は、C言語を使って小数点第二位を切り捨てる方法を5つのステップで解説しました。

C言語は初心者にも理解しやすい言語であり、また基本的な数値処理も手軽に行うことができます。

今回学んだ知識を活用して、ぜひ自分のプログラムに取り組んでみてください。