以下提供三種進位方式供參考。
請自行追蹤變數內容。
已知以下程式變數宣告為:
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;