在論壇里看到了一個人的提問,關於如何截斷浮點數小數部分的問題。我的第一感覺是使用字符串處理(呵呵,估計知道floor函數的人都會笑話我了)。的確,用C++也算挺久了,竟然不知道C++庫中的floor函數,可以輕易實現這個功能,唉,感慨~~~~
就不多說別的了,下面說一下關於floor函數:
1、函數原型:
1 double floor ( double x ); 2 float floor ( float x ); 3 long double floor ( long double x );
2、功能:返回一個小於傳入參數的最大整數
3、參數:x為將來被處理的數
4、返回值:返回不大於x的最大整數
5、注在C語言中只有double一個原型
6、示例程序
1 #include <stdio.h> 2 #include <math.h> 3 4 int main () 5 { 6 printf ("floor of 2.3 is %.1lf/n", floor (2.3) ); 7 printf ("floor of 2.6 is %.1lf/n", floor (2.6) ); 8 printf ("floor of -2.3 is %.1lf/n", floor (-2.3) ); 9 printf ("floor of -2.6 is %.1lf/n", floor (-2.6) ); 10 return 0; 11 }
輸出:
floor of 2.3 is 2.0 floor of 2.6 is 2.0 floor of -2.3 is -3.0 floor of -2.6 is -3.0 |
總結一點,有時間一定要好好學習一個C++ 標准庫