在c語言中這個問題是有多種解決方法的。
假設我們有個數字3.1415926...我們要在它指定的小數位置上四舍五入。假設第4位四舍五入,要得到結果3.142000
我們需要如下程序:
#include<stdio.h>
intmain()
{doublenum1,num2;
num1=3.1415926;
num1=(int)(num1*1000+0.5);//利用強制類型轉換運算將數字第3位以后的小數部分舍去
num2=num1/1000;//再將得到的數除以1000還原
printf("%f",num2);
return0;
}
如果你是在C99規范的編譯器中,就可以直接使用round函數
用法如下:
#include<stdio.h>
intmain()
{
num1=3.1415926,num2;
num2=num1*1000;
num2=round(num2)/1000;//round(x)返回x的四舍五入整數值,就舍去后面的小數了。
printf("%f",num2);
return0;
}
如果你僅僅是要四舍五入輸出一個浮點數,我們可以直接這樣
#include<stdio.h>
intmain()
{
doublenum1;
num1=3.1415926;
printf("%.3f",num1);//0.3是附加格式字符,意為保留小數點后面3位,自動四舍五入
return0;
}