亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

圓()在C+中浮動

圓()在C+中浮動

C++
動漫人物 2019-06-18 16:46:43
圓()在C+中浮動我需要一個簡單的浮點舍入函數,因此:double round(double);round(0.1) = 0round(-0.1) = 0round(-0.9) = -1我能找到ceil()和floor()在數學里.但是.round().它是以另一個名稱出現在標準C+庫中,還是丟失了?
查看完整描述

3 回答

?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

C+98標準庫中沒有圓形()。不過你可以自己寫一個。的實現如下:四舍五入:

double round(double d){
  return floor(d + 0.5);}

C+98標準庫中沒有圓函數的可能原因是它實際上可以不同的方式實現。以上是一種常見的方式,但也有其他方式,如四舍五入,如果你要做很多四舍五入,這就不那么偏頗了,通常情況下也會更好;不過,實現起來有點復雜。


查看完整回答
反對 回復 2019-06-18
?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

Boost提供了一組簡單的四舍五入函數。

#include <boost/math/special_functions/round.hpp>double a = boost::math::round(1.5); // Yields 2.0int b = boost::math::iround(1.5);
 // Yields 2 as an integer

有關更多信息,請參見Boost文檔.

編輯*自C+11以來,有std::roundstd::lround,和std::llround.


查看完整回答
反對 回復 2019-06-18
  • 3 回答
  • 0 關注
  • 573 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號