この記事は2019年10月21日に投稿しました。
目次
リンク
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. おわりに
前回
を紹介しましたが、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++]四捨五入