1. 程式人生 > >【演算法】-002 小數四捨五入截斷

【演算法】-002 小數四捨五入截斷

【演算法】-002 小數四捨五入截斷

  實際應用中,由於採集裝置的精度問題,雖然測量值在有效範圍內,但可能資料尾部會處在一直跳變的過程中。為了將不穩定的資料位捨去,因此需要將測試資料進行帶四捨五入的截斷。

1、 實現

  將帶小數的測試資料直接進行資料型別轉換,使用C++編譯器預設的截斷規則進行小數截斷。比如,要將1.123456保留5位小數,使用C++程式碼方法如下:

float DecimalTruncation(float a, int
nCount) { float d = 0; //先將資料放大10^nCount倍,將小數點右移nCount位,之後進行整數截斷,為了確保四捨五入的進行,將放大後的資料+0.5, //截斷之後再將結果縮小10^nCount倍,將小數點左移nCount位。 d = (int(a * pow(10, nCount)+0.5)) / pow(10, nCount); return d; }