delphi – 将float格式化为###.##(两位小数)

前端之家收集整理的这篇文章主要介绍了delphi – 将float格式化为###.##(两位小数)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
拥有:
var
Difference: DWORD // difference shows in milliseconds
// List.Items.Count can be any 0 to ######## 
[...]
sb.panels[2].Text  := FloatToStr((((List.Items.Count) / difference) / 1000));

我想将结果文本格式化为任何###.##(两位小数).使用FloatToStrF并不成功(似乎不适用于DWORD).

解决方法

只是想知道这是数学而不是格式化的问题.为什么要将项目数除以1000?你的意思是将毫秒(你的差异变量)除以1000吗?也许这就是你想要的:
EventRate := (List.Items.Count) / (difference / 1000);  // events per second; to make it per minute,need to change 1000 to 60000

当然,您仍然希望格式化结果.你需要它作为变量或类属性

MyFormatSettings: TFormatSettings;

然后,你需要做一次,例如在FormShow中:

getlocaleformatsettings(locale_system_default,MyFormatSettings);

最后,这应该工作:

sb.panels[2].Text := format('%5.2f',EventRate,MyFormatSettings);

猜你在找的Delphi相关文章