以下提供三種進位方式供參考。
請自行追蹤變數內容。
已知以下程式變數宣告為:
float f;
int a;
【無條件捨去至第三位】
a=f*1000;
f=a/1000.0;
【四捨五入至第三位】
a=f*1000.0+(f>=0 ? 0.5 : -0.5); //f 為正+0.5,為負-0.5
f=a/1000.0;
另一個方法:
f= round(a*1000); //四捨五入至整數
f= a/1000.0;//移回小數三位
【無條件進位至第三位】
a=f*1000.0+(f>=0 ? 0.9 : -0.9); //f 為正+0.9,為負-0.9
f=a/1000.0;