2011-11-29 45 views
3

前幾天,我在VC++中做過項目。我發現,VC++中的math.h與dev-cpp math.h有很大不同。特別是它的循環函數,它不存在於Visual C++ math.h中,但包含在dev-cpp math.h中。差別dev-cpp和Microsoft Visual C++ math.h

現在我想問一下,是否這是由myngw中的dev-cpp根造成的?或者是否它的一個不同的標準(ISO)

謝謝大家的迴應。

回答

4

round()是Visual Studio不完全支持的C99標準的一部分。但是,你可以輕鬆地編寫您自己的實現:

double round(double r) { 
    return (r > 0.0) ? floor(r + 0.5) : ceil(r - 0.5); 
} 
+0

編寫自己的循環函數[一個困難的問題(http://stackoverflow.com/a/24348037/1708801)您的解決方案不會爲一定值作爲工作鏈接的答案解釋。一個例子是'0.49999999999999994'。更好的建議是使用提升。 –

+0

或者使用Visual Studio 2013.微軟爲該版本增加了許多C99功能,包括(最後)''round()''。 – fschoenm