delphi,as中的四舍五入问题
困惑我好长时间,终于在网上找到了答案,还是网络好啊!感谢网络,以下是自己写的心得,算是原创吧.
写出最简单的实现,希望对和我一样的新手朋友有帮助。(写flash as时也会用到的)
1.RoundTo---需要在uses中加入Math
保留浮点数到小数点后特定位,四舍五入,当然也可以保留到整数如下:
label2.Caption := FloatToStr(RoundTo(k, -2)); //此句要用Math
label2.Caption := FloatToStr(RoundTo(k, 2)); //此句要用Math
假如
k : Double = 7777.777;
上面结果分别为:
7777.78
7800
2. Format
注意直接输出字符型,不需要FloatToStr();
Label1.Caption := Format('%.2f',[k]);
假如
k : Double = 7777.777;
结果为:
7777.78
假如
k : Double = 7777;
结果为:
7777.00
这个用途较多,可以让输出结果整齐划一,特别是在标坐标轴时.
3.另外还有Round,Trunc
Round可以实现四舍五入,
Trund可以实现整数截断,不进行四舍五入.
来源:http://hi.baidu.com/nsgtao/
写出最简单的实现,希望对和我一样的新手朋友有帮助。(写flash as时也会用到的)
1.RoundTo---需要在uses中加入Math
保留浮点数到小数点后特定位,四舍五入,当然也可以保留到整数如下:
label2.Caption := FloatToStr(RoundTo(k, -2)); //此句要用Math
label2.Caption := FloatToStr(RoundTo(k, 2)); //此句要用Math
假如
k : Double = 7777.777;
上面结果分别为:
7777.78
7800
2. Format
注意直接输出字符型,不需要FloatToStr();
Label1.Caption := Format('%.2f',[k]);
假如
k : Double = 7777.777;
结果为:
7777.78
假如
k : Double = 7777;
结果为:
7777.00
这个用途较多,可以让输出结果整齐划一,特别是在标坐标轴时.
3.另外还有Round,Trunc
Round可以实现四舍五入,
Trund可以实现整数截断,不进行四舍五入.
来源:http://hi.baidu.com/nsgtao/