加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 04:15:55 所属栏目:大数据 来源:网络整理
导读:拥有: varDifference: DWORD // difference shows in milliseconds// List.Items.Count can be any 0 to ######## [...]sb.panels[2].Text := FloatToStr((((List.Items.Count) / difference) / 1000)); 我想将结果文本格式化为任何###.##(两位小数).使用Fl
拥有:
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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读