8

每次我在网上查看一些更专业的代码时,我都会在一些字符串中看到类似的东西%s%d尤其是在对话框中,但我不知道它们是什么。我已经用谷歌搜索了这些术语,但我似乎找不到答案,以及它是否受 Delphi 约束或每种编程语言共有的东西。

我看到一篇与 C 相关的帖子说它用于“在运行时转换变量”,如果是这种情况,我们可以在单个字符串中指定多少个参数?

示例用法:

ShowMessageFmt('Day %d = %s',[i,Days[i]]);

Delphi Basics中找到。

4

2 回答 2

21

这些是格式字符串,类似于 C 中使用的那些printf()。Delphi 函数也使用它们Format,这又与printf()C中的相似。

%d表示一个整数。它将被后面i的数组中提供的变量的内容替换。

%s代表一个字符串。它将被它Days[i]后面的数组中传递的内容替换。

您可以在 Delphi 文档中找到更多信息SysUtils.Format,特别是在有关Format Strings.

于 2013-09-04T11:12:53.010 回答
12

这些是传递给Format函数的格式字符串。在文档中阅读所有相关信息。

格式字符串中的每个占位符都被参数开放数组中的值替换。因此,%d被 的值替换i,并被 的值%s替换Days[i]

格式字符串占位符指定数据类型和格式信息。因此,%d用于以十进制表示显示整数值,并%s用于指示字符串。

于 2013-09-04T11:11:29.300 回答