« [CSS3] 背景画像のサイズ指定 | トップページ | 次男君10歳の誕生日 - シンプルに伝えるということ »

2014.06.25

[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);
}

余談ですが、マイナス値の四捨五入って、実生活であまり使うことがないからか、結果がハッキリわかりませんね。

追記:VS2013以降では対応していると書いてあります

« [CSS3] 背景画像のサイズ指定 | トップページ | 次男君10歳の誕生日 - シンプルに伝えるということ »

プログラミング」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: [VC++] 四捨五入:

« [CSS3] 背景画像のサイズ指定 | トップページ | 次男君10歳の誕生日 - シンプルに伝えるということ »

2020年6月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
フォト

Google AdSense

銀の弾丸

無料ブログはココログ

他のアカウント