[VC++] 四捨五入
LinuxからVisual Studio 2010 の VC++へ持ってきたソースで「round()
関数がない」とかで、コンパイルエラー。ヘッダファイルを探してみても確かに無い。
正直、そんな標準関数あったっけ?と思ったけど、Linuxでは問題なく通っているようだ。
調べると、round()
はC99で追加されたが、Visual Studio 2010の VC++がC99に完全準拠していない (と、Stack Overflowに書いてあった)
なので、同サイトで紹介されていた以下の関数を定義して解決。
//四捨五入 double round(double r) { return (r > 0.0) ? floor(r + 0.5) : ceil(r - 0.5); }
余談ですが、マイナス値の四捨五入って、実生活であまり使うことがないからか、結果がハッキリわかりませんね。
« [CSS3] 背景画像のサイズ指定 | トップページ | 次男君10歳の誕生日 - シンプルに伝えるということ »
「プログラミング」カテゴリの記事
- 自分で書いたコードが大好き(2020.09.20)
- NPMのヨロコビ(2020.05.14)
- VanilaJS は必須科目(2019.02.25)
- MZ-700フルJavaScriptエミュレータ v1.0.6 をリリース(2019.01.26)
- 戦々恐々GitHub vs BitBucket(2019.01.08)
コメント