« [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歳の誕生日 - シンプルに伝えるということ »

2023年3月
      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 31  
フォト

Google AdSense

銀の弾丸

無料ブログはココログ

他のアカウント