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