プログラムを書こう!

実務や自作アプリ開発で習得した役に立つソフトウェア技術情報を発信するブログ

Cで小数点以下を四捨五入する(その2)

この記事は2019年10月21日に投稿しました。

f:id:paveway:20190914064630j:plain

目次

  1. はじめに
  2. Cで小数点以下を四捨五入する(その2)
  3. おわりに

1. はじめに

こんにちは、iOSのエディタアプリPWEditorの開発者の二俣です。
今回は業務で使用しているCで小数点以下を四捨五入する方法(その2)についてです。

目次へ

2. Cで小数点以下を四捨五入する(その2)

Cで小数点以下を四捨五入するには、以下のような実装で行います。

実装例

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

/**
 * @brief 小数点以下を四捨五入します。
 *
 * @param [in] x 丸める浮動小数点値
 * @return 最も整数に近い浮動小数点値
 */
double round(double x)
{
    return (x > 0.0) ? floor(x + 0.5) : ceil(x - 0.5);
}

int main()
{
    double x = 2.4;
    printf("round(%.1f)=%.0f\n", x, round(x));

    x = 2.5;
    printf("round(%.1f)=%.0f\n", x, round(x));

    x = -1.1;
    printf("round(%.1f)=%.0f\n", x, round(x));

    x = -1.6;
    printf("round(%.1f)=%.0f\n", x, round(x));
}

実行結果

round(2.4)=2
round(2.5)=3
round(-1.1)=-1
round(-1.6)=-2

API Reference

floor関数

ceil関数

目次へ

3. おわりに

前回

www.paveway.info

を紹介しましたが、round関数はC言語やVisual Studioのバージョンによって使えない場合があるようです。
そのため以前紹介した

をつかって、実装してみました。

紹介している一部の記事のコードはGitlabで公開しています。
興味のある方は覗いてみてください。

目次へ


私が勤務しているニューラルでは、主に組み込み系ソフトの開発を行っております。
弊社製品のハイブリッドOS Bi-OSは高い技術力を評価されており、特に制御系や通信系を得意としています。
私自身はiOSモバイルアプリウィンドウズアプリを得意としております。
ソフトウェア開発に関して相談などございましたら、お気軽にご連絡ください。

また一緒に働きたい技術者の方も随時募集中です。
興味がありましたらご連絡ください。

EMAIL : info-nr@newral.co.jp / m-futamata@newral.co.jp
TEL : 042-523-3663
FAX : 042-540-1688

目次へ

http://docolog.cocolog-nifty.com/papalog/2014/06/20140624.html

[VC++]四捨五入