if ( indata>;0.00 )
*outdata=(int)((indata*precision*10)+0.5)/100.00;
else
*outdata=(int)((indata*precision*10)-0.5)/100.00;
在負數時有問題,例如-4.9999,精確到2位小數進行四捨五入,應該是-5.00,使用方法得到-4.99。因此應當判斷輸入浮點數是負數還是正數,區別處理
還有一種方法:
RoundTo(1.235, -2)=1.24
if ( indata>;0.00 )
*outdata=(int)((indata*precision*10)+0.5)/100.00;
else
*outdata=(int)((indata*precision*10)-0.5)/100.00;
在負數時有問題,例如-4.9999,精確到2位小數進行四捨五入,應該是-5.00,使用方法得到-4.99。因此應當判斷輸入浮點數是負數還是正數,區別處理
還有一種方法:
RoundTo(1.235, -2)=1.24