format函数格式,C#中的函数Format()是干什么的?怎么用?
format函数格式,C#中的函数Format()是干什么的?怎么用?详细介绍
本文目录一览: format函数怎么用vb
Format是CString类的一个成员函数,它通过格式操作使任意类型的数据转换成一个字符串
DateTime是时间类型。返回值是一种格式化后的字符,Format里面可以写普通的字符串,比如"my name is" ,但有些格式指令字符具有特殊意义,比如"%6s"。
VB格式输出函数可以使数值、日期或字符串按指定的格式输出。其格式为:
Format(
[,
])
其中,
:要格式化的数值、日期或字符串表达式。
:指定表达式的值的输出格式。格式字符有三类:数值格式、日期格式和字符串格式。格式字符要加引号。下面以例子说明格式输出函数中最常用的一些格式字符的使用。
Format 返回变体型
Format$ 强制返回为文本
例如:
Print Format(123.45,“0000.000”)’ “0”为数字占位符。显示一位数字或零。结果为0123.450
Print Format(123.45,“0.0”)’ 结果为123.5
扩展资料
Format函数声明
function Format(const Format: string; const Args: array of const): string; overload;
Format函数功能
事实上Format方法有两种形式,另外一种是三个参数的,主要区别在于它是线程安全的, 但并不多用,所以这里只对第一个介绍。
Format参数是一个格式字符串,用于格式化Args里面的值的。Args是一个变量数组,即它里面可以有多个参数,而且每个参数可以不同。 例如:
Format("my name is %6s","wind");
返回的是:my name is wind
参考资料来源:百度百科—Format函数
格式字符串>
表达式>
格式字符串>
表达式>
format函数用法
Format函数是用于格式化字符串的。可以接受无限个参数,可以指定顺序,返回结果为字符串。
Format是CString类的一个成员函数,它通过格式操作使任意类型的数据转换成一个字符串。Format参数也是一个格式化字符串。DateTime是时间类型。返回值是一种格式化后的字符串。Format里面可以写普通的字符串,比如mynameis,但有些格式指令字符具有特殊意义,比如%6s。
如果在格式化数字时没有指定format,Format会提供与Str函数类似的功能,尽管它是国际化的。然而,以Format作用在正数上不会保留正负号空间,而以Str的话则会。如果要格式化一个没有本地化的数值字符串,应该使用一个用户自定义的数值格式,以保证得到需要的外观。
format函数的便利性
在%格式方法中,只有字符串类型可以用%s进行格式化,而format函数则可以用来格式化所有数据类型。在使用%格式方法时,参数只能按照它们在格式字符串中的顺序进行输出;而在format函数中,则可以使用多个参数来分别输出字符串中的不同位置,参数顺序可以不相同。
填充方式和对齐方式十分灵活,format函数提供了多种填充方式和对其方式,可以根据需要在输出时进行灵活的设置。在Python的官方文档中,推荐使用format函数来进行字符串格式化。
format函数用法
format函数的用法如下:
1、FormatdateTime('c',now);输出为:2004-8-7 9:55:40d对应于时间中的日期,日期是一位则显示一位,两位则显示两位。
2、FormatdateTime('d',now);输出可能为1~31,dd和d的意义一样,但它始终是以两位来显示的。
3、FormatdateTime('dd',now);输出可能为01~31,ddd显示的是星期几。
4、FormatdateTime('ddd',now);输出为:星期六,dddd和ddd显示的是一样的。但上面两个如果在其他国家可能不一样。ddddd以短时间格式显示年月日。
5、FormatdateTime('ddddd',now);输出为:2004-8-7,dddddd以长时间格式显示年月日。
6、FormatdateTime('dddddd',now);输出为:2004年8月7日,e/ee/eee/eeee以相应的位数显示年。
7、FormatdateTime('ee',now);输出为:04(表示2004年),m/mm/mmm/mmmm表示月。
8、FormatdateTime('m',now);输出为:8。
函数示例:
本示例显示用Format函数做格式化输出的不同用法。对于日期分隔号(/),时间分隔号(:),以及AM/PM等文本而言,其真正地显示格式会因计算机上的国际标准不同而有所差异。在开发阶段,日期与时间是以短日期的格式,配合代码的国际标准来显示的。
而在运行时,短日期则是根据系统的国际标准而定,而系统的国际标准和代码的国际标准可能并不相同。本示例中是假设国际标准为English/United States。
EXCEL如何用FORMAT函数能将日期修改成 yyyy-mm-dd格式?
Excel中没有FORMAT函数,可以用text函数来实现:
1、以2010版excel为例,如下图中G12单元格中有一个日期“11-mar-08” ,需要在H9单元格里面显示出“2018-03-11”;
2、在H9单元格中输入公式“=TEXT(G12,"yyyy-mm-dd")”;
3、按下回车键后就可以得出想要的结果了。
EXCEL中是没有FORMAT函数的,但是“11-mar-08”格式的日期格式,Excel是可以直接识别的,所以将其单元格格式修改为“yyyy-mm-dd”即可。
1、演示使用的软件为Excel电子表格,软件版本为office家庭和学生版2016。
2、首先打开Excel电子表格并输入“11-mar-08”,然后右键单击该单元格,在展开的菜单中选择设置单元格格式。
3、在弹出的设置单元格格式窗口中,选择日期格式并选择如图所示格式点击确定关闭设置单元格格式窗口。
4、可以看到我们已经将日期内容“11-mar-08”修改为格式为“yyyy-mm-dd”的形式。
没有format这个函数,只有text函数:
=TEXT(A1,"yyyy-mm-dd")
G12中日期是EXCEL中认可的日期,可以将G12单元格格式设置为日期就可以了。方法是,右击,设置单元格格式,日期,中间选一个。
如果一定要用函数,任意空单元格输入
=TEXT(G12,"e-mm-dd")
没听说excel里有format函数,印象中仅VBA里才有。何不直接用"=H9",然后再设置单元格格式呢?这样简单很多。
用FORMAT函数将EXCEL日期修改成 yyyy-mm-dd格式的方法步骤如下:
1、首先打开计算机,在计算机内打开EXCEL,在EXCEL界面内输入“11-mar-08”,然后使用鼠标右键点击该单元格,然后在弹出的选项栏内找到“设置单元格格式”选项并使用鼠标点击。
2、然后在弹出的界面内找到“日期”选项并点击,再在界面内选择日期格式并保存关闭该界面。
3、最后就可以发现已经成功的用FORMAT函数将EXCEL日期修改成 yyyy-mm-dd格式了。
python的format函数是什么意思
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。基本语法是通过 {} 和 : 来代替以前的 % 。format 函数可以接受不限个参数,位置可以不按顺序。format格式化函数实例>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序'hello world' >>> "{0} {1}".format("hello", "world") # 设置指定位置'hello world' >>> "{1} {0} {1}".format("hello", "world") # 设置指定位置'world hello world'也可以设置参数:
vb中Format函数的用法
vb format函数
格式输出Format函数
Format函数用于制定字符串或数字的输出格式。
语法:x = Format (expression, fmt )
expression是所输出的内容。fmt是指输出的格式,这是一个字符串型的变量,这一项若省略的话,那么Format函数将和Str函数的功能差不多。如:
语句
输出
Format (2, “0.00”)
2.00
Format (.7, “0%”)
70%
Format (1140, “$#,##0”)
$1,140
fmt字符的意义
字符
意义
字符
意义
0
显示一数字,若此位置没有数字则补0
.
小数点
#
显示一数字,若此位置没有数字则不显示
,
千位的分隔符
%
数字乘以100并在右边加上”%”号
- + $ ( )
这些字出现在fmt里将原样打出
Format函数对时间进行输出时的意义
fmt
输出
fmt
输出
m/d/yy
8/16/96
h:mm:ss a/p
10:41:29 p
d-mmmm-yy
16-August-96
h:mm
22:41
d-mmmm
16-August
h:mm:ss
22:41:29
mmmm-yy
august-96
m/d/yy h:mm
8/16/96 22:41
hh:mm AM/PM
10:41 PM
VB Format函数使用方法
返回 Variant (String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。
语法
Format(expression[ format[ firstdayofweek[ firstweekofyear]]])
Format 函数的语法具有下面几个部分:
部分
说明
expression
必要参数。任何有效的表达式。
format
可选参数。有效的命名表达式或用户自定义格式表达式。
firstdayofweek
可选参数。常数,表示一星期的第一天。
firstweekofyear
可选参数。常数,表示一年的第一周。
设置值
firstdayofweek 参数有下面设置:
常数
值
说明
vbUseSystem
0
使用 NLS API 设置。
VbSunday
1
星期日(缺省)
vbMonday
2
星期一
vbTuesday
3
星期二
vbWednesday
4
星期三
vbThursday
5
星期四
vbFriday
6
星期五
vbSaturday
7
星期六
firstweekofyear 参数有下面设置:
常数
值
说明
vbUseSystem
0
使用 NLS API 设置。
vbFirstJan1
1
从包含一月一日的那一周开始(缺省)。
vbFirstFourDays
2
从本年第一周开始,而此周至少有四天在本年中。
VbFirstFullWeek
3
从本年第一周开始,而此周完全在本年中。
说明
格式化
作法
数字
使用预先定义的命名数值格式或创建用户自定义数值格式。
日期和时间
使用预先定义的命名日期/时间格式或创建用户自定义日期/时间格式。
日期和时间序数
使用日期和时间格式或数值格式。
字符串
创建自定义的字符串格式。
hour = Format((time \ 60), "00000")
把小时强制按"00000"格式输出,也就是输出的小时数为一个五位数,如果不足五位,则前边补0
下边那句同上
Format函数 返回
返回 Variant (String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。
语法
Format(expression[, format[, firstdayofweek[, firstweekofyear]]])
Format 函数的语法具有下面几个部分:
部分 说明
expression 必要参数。任何有效的表达式。
format 可选参数。有效的命名表达式或用户自定义格式表达式。
firstdayofweek 可选参数。常数,表示一星期的第一天。
firstweekofyear 可选参数。常数,表示一年的第一周。
Private
Sub
Form_Click()
a
=
0.12
a
=
Format(a,
"00.0000")
b
=
Format(a,
"##.#####")
Print
a
Print
b
End
Sub
你看啊,没有出现你说的情况,你的函数有问题,要使用英文状态的标点符号。你吧我的复制一下看看。
我的使用
a
=
Format(a,
"00.0000")
输出的是00.1200。
使用的
a=format(a,"##.####")
时,才出现你说的情况。
另外问题所在:a是声明为单精度“数据”了,你使用了
a
=后,先运行
Format(a,
"00.0000")。为
00.2400
继续运行赋值“=”就等到的
00.2400,再判断数据为单精度类型。又
将其强制转换为数值
.20。
方法1:不声明。方法二
使用中间变量
a
=
Format(a,
"00.0000")
改为:b
=
Format(a,
"00.0000")
最后输出b。都能解决、
如果回答对您有用,请给分!
VB中format函数
函数
Format
函数
语法
Format(expression[,
format[,
firstdayofweek[,
firstweekofyear]]])
函数功能
事实上Format方法有两种形式,另外一种是三个参数的,主要区别在于它是线程安全的,
但并不多用,所以这里只对第一个介绍。Format参数是一个格式字符串,用于格式化Args里面的值的。Args是一个变量数组,即它里面可以有多个参数,而且每个参数可以不同。
例如:
Format("my
name
is
%6s","wind");
返回的是:my
name
is
wind
expression
必要参数。任何有效的表达式。
format
可选参数。有效的命名表达式或用户自定义格式表达式。
firstdayofweek
可选参数。常数,表示一星期的第一天。
firstweekofyear
可选参数。常数,表示一年的第一周。
format
参数有下面设置:
(0)
数字占位符。显示一位数字或是零。如果表达式在格式字符串中
0
的位置上有一位数字存在,那么就显示出来;否则,就以零显示。如果数值的位数少于格式表达式中零的位数(无论是小数点的左方或右方),那么就把前面或后面的零补足。如果数值的小数点右方位数多于格式表达式中小数点右面零的位数,那么就四舍五入到有零的位数的最后一位。如果数值的小数点左方位数多于格式表达式中小数点左面零的位数,那么多出的部分都要不加修饰地显示出来。
(#)
数字占位符。显示一位数字或什么都不显示。如果表达式在格式字符串中“#”的位置上有数字存在,那么就显示出来;否则,该位置就什么都不显示。
此符号的工作原理和“0”数字占位符大致相同,不同之处只有在当表达式中数值的位数少于“#”的位数(无论是小数点左方或右方)时,不会把前面或后面的零显示出来。
(.)
小数点占位符。在一些国别是用逗号来当小数点的。小数点占位符用来决定在小数点左右可显示多少位数。如果格式表达式在此符号左边只有正负号,那么小于
1
的数字将以小数点为开头。如想在小数前有“0”的话,那么请在小数点占位符前加上“0”这个数字占位符。小数点占位符的实际字符在格式输出时要看系统的数字格式而定。
(%)
百分比符号占位符。表达式乘以
100。而百分比字符
(%)
会插入到格式字符串中出现的位置上。
(,)
千分位符号占位符。在一些国别,是用句点来当千位符号。千位符号主要是把数值小数点左边超过四位数以上分出千位。如果格式中在数字占位符(0
或
#)周围包含有千分位符号,则指定的是标准的千分位符号使用法。两个邻近的千分位符号或一个千分位符号紧接在小数点左边(不管小数位是否指定),其意思为“将数值除以
1000,按需要四舍五入”。例如,可以用格式字符串
"##0,,"
将
1
亿表示成
100。数值小于
1
百万的话表示成“0”,两个邻近的千分位符号除了紧接在小数点左边以外,在任何位置出现时均简单地视为指定了使用千分位符号。小数点占位符的真正字符在格式输出时,需视系统识别的数字格式而定。
(:)
时间分隔符。在一些国别,可能用其他符号来当时间分隔符。在格式化时间值时,时间分隔符可以用来分隔时、分和秒。时间分隔符的真正字符在格式输出时,取决于系统的设置。
(/)
日期分隔符。在一些国别,可能用其他符号来当日期分隔符。在格式化日期数值时,日期分隔符可以用来分隔年、月、日。日期分隔符的真正字符在格式输出时,取决于系统设置。
(E-
E+
e-
e+)
科学格式。如果格式表达式在
E-、E+、e-
或
e+
的右方含有至少一个数字占位符(0
或
#),那么数值将表示成科学格式,而
E
或
e
会被安置在数字和指数之间。E
或
e
右方数字占位符的个数取决于指数位数。使用
E-
或
e-
时,会用减号来表示负的乘幂。使用
E+
或
e+
时,会用减号来表示负的乘幂并用加号来表示正的乘幂。
-
+
$
(
)
显示一个原义字符。如想显示那些列出的字符之外的字符时,可以用反斜杠
(
\
)
字符作前缀或以双引号
("
")
括起来。
(\)
将格式字符串中下一个字符显示出来。如想显示一作为原义字符并有特殊含义的字符,可将此字符置于反斜杠
(\)
之后。反斜杠本身并不会显示出来。而使用反斜杠
(\)
的效果和使用双引号是一样的。如想显示反斜杠字符,可使用两个反斜杠
(\\)。
那些不能显示为原义字符的字符是日期格式字符和时间格式字符(a,
c,
d,
h,
m,
n,
p,
q,
s,
t,
w,
y,
/
和
:)、数值格式字符(#,
0,
%,
E,
e,
逗点和句点)和字符串格式字符(@,
&,
<,
>
和
!)。
("ABC")
显示双引号
("
")
之内的字符串。如在代码中想在
format
中包含一个字符串,必须用
Chr(34)
将文本括起来(34
为双引号
(")
的字符代码)。
参考:http://wenku.baidu.com/link?url=xm_g_x5DzqsSIXJpCLpmrYYpsYpr_B1RjWTxMHITN-Gv4hLr_H1vjIlp8TVwYvVxa5rHH4cMNFnBCn5VJKSMCJHjhmXWzHQl4L6E0wytc5_
C#中的函数Format()是干什么的?怎么用?
这是一个格式化函数,它跟C语言中的printf(),scanf()一样,都是格式化函数。具体请看:
function
Format(const
Format:
string;
const
Args:
array
of
const):
string;
overload;
事实上Format方法有两个种形式,另外一种是三个参数的,主要区别在于它是线程安全的,但并不多用,所以这里只对第一个介绍:
function
Format(const
Format:
string;
const
Args:
array
of
const):
string;
overload;
Format参数是一个格式字符串,用于格式化Args里面的值的。Args又是什么呢,
它是一个变体数组,即它里面可以有多个参数,而且每个参数可以不同。
如以下例子:
Format(’my
name
is
%6s’,[’wind’]);
返回后就是
my
name
is
wind
字符串格式化函数.
使用很简单.
如
string
a=string.Format("你的姓名:{0},年龄:{1}","张三",16);
得到的a
就是
"你的姓名:张三,年龄16",
这个函数主要避免
字符串多次
拼凑相加
造成错误或者麻烦.
这个
函数有一个
格式参数,和若干个
parameters
参数.
还有
参数是从0开始的.
excel vba format函数
打开vb编辑器--工具--引用,看看是不是有库没有勾选
查一下是不是库文件相关的dll文件丢失
改为:
=Format(Now(), "'ddhhmmss")
Format(值,格式(可选参数))
一、数字格式:
1、GeneralNumber:普通数字,可以用来去掉千位分隔号和无效 0 。
如:Format("1,234,567.80","General Number")="1234567.8"
2、Currency:货币类型,可添加千位分隔号和货币符号,保留两位小数点。
如:Format(1234567,"Currency")="¥1,234,567.00"
3、Fixed:格式为带两位小数的数字。
如:Format("123456","Fixed")=123456.00
4、Standard:标准,即带千位分隔号和两位小数。
如:Format("123456","Standard")=123,456.00
5、Percent:带两位小数点的百分数。
如:Format("123456","Percent")=12345600.00
6、Scientific:科学记数法。
如:Format("1234567","Scientific")=1.23E+06
7、Yes/No:当数值为非 0 数字时返回 Yes ,否则返回 No 。
如:Format(-3.14,Yes/No")="Yes" Format(0,"Yes/No")="No"
8、True/False:当数值为非 0 数字时返回 True ,否则返回 False 。
与第7点类似,这里不再举例。
9、On/Off:当数值为非 0 数字时返回 On ,否则返回 Off 。
与第7点类似,这里不再举例。
10、""或省略:返回原值,但去除了小数点前后的无效 0 。
如:Format("0.1030","")=".103"
11、0:占位格式化,不足位时补足 0 。
如:Format(123,0000")="0123" Format$(12.3,"0.00")="12.30"
12、#:占位格式化,不足位时不补足 0 。
如:Format(123,"####")=123
13、%:转化为百分数,一个%代表乘以 100 。
如:Format(1.23,"0.00%")=123.00% Format(1.23,"0.00%%")=12300.00%%
14、\:强制显示某字符。
如:Format$(12.34, "\R\M\B.00")="RMB 12.34"
15、;(分号):分段显示不同格式
比如要把正数显示为“正”,负数显示为“负”,0显示为“零”,参数为"正;负;零"
如:Format$(123, "正;负;零")="正"
第1段为正数格式,第2段为负数格式,第3段为0格式。
二、日期和时间格式:
1、固定格式参数
General Date:基本类型
如:Format("2010-5-19:8:5", "General Date")="2010/5/1 9:08:05"
Long Date:操作系统定义的长日期
如:Format("2010-5-19:8:5", "Long Date")=2010年5月1日
Medium Date:中日期
如:Format("2010-5-19:8:5", "Medium Date")=10-05-01
Short Date:操作系统定义的短日期
如:Format("2010-5-19:8:5", "Short Date")=2010-5-1
Long Time:操作系统定义的长时间
如:Format("2010-5-19:8:5", "Long Time")=9:08:05
Medium Time:带AM/PM(上午/下午)的12小时制,不带秒
如:Format("2010-5-19:8:5", "Medium Time")=09:08 上午
Short Time:24时制的时间,不带秒
如:Format("2010-5-19:8:5", "Short Time")=09:08
2、自定义格式
C:格式化为国标的日期和时间
如:Format("2010-5-19:8:5", "c")=2010/5/1 9:08:05
y:一年中的第几天(1-366)
如:Format("2010-5-19:8:5", "y")=121
yy:两位数的年份(00-99)
如:Format("2010-5-19:8:5", "yy")=10
yyy:上面的 yy 与 y 结合在一起
如:Format(2010-5-1 9:8:5","yyy")=10121
Format("2010-5-19:8:5", "yy年第y天")=10年第121天
yyyy:四位数的年份(0100-9999)
如:Format("2010-5-19:8:5", "yyyy")=2010
d:一个月中的第几天(1-31)
如:Format("2010-5-19:8:5", "d")=1
dd:与 d 相同,但不足两位时补足 0
如:Format("2010-5-19:8:5", "dd")=01
ddd:三个英文字母表示的星期几
如:Format("2010-5-19:8:5", "ddd")="Sat"
dddd:英文表示的星期几
如:Format("2010-5-19:8:5", "dddd")="Saturday"
ddddd:显示标准日期
如:Format("2010-5-19:8:5", "ddddd")=2010/5/1
dddddd:长日期
如:Format("2010-5-19:8:5", "dddddd")=2010年5月1日
w:一个星期中的第几天(始于周日,周日为1)
如:Format("2010-5-19:8:5", "w")=7
ww:一年中的第几周
如:Format("2010-5-19:8:5", "ww")=18
m:月份数(当用于时间时,也可以表时为分钟)
如:Format("2010-5-19:8:5", "m")=5
mm:当小于10时带前导0的月数(当用于时间时,也可以表示为两位数的分钟数)
如:Format("2010-5-1 9:8:5","mm")=05
mmm:三个英文字母表示的月份数
如:Format("2010-1-19:8:5", "mmm")="Jan"
mmmm:英文表示的月份数
如:Format("2010-1-19:8:5", "mmmm")="January"
q:一年中的第几季(1-4)
如:Format("2010-5-19:8:5", "q")=2
aaa:中文表示的周几
如:Format("2010-5-19:8:5", "aaa")=周六
aaaa:中文表示的星期几
如:Format("2010-5-19:8:5", "aaaa")=星期六
h:小时数(0-23)
如:Format("2010-5-19:8:5", "h")=9
h:两位数表示的小时数
如:Format("2010-5-19:8:5", "hh")=09
n:分钟数(0-59)
如:Format("2010-5-19:8:5", "n")=8
nn:两位数表示的分钟数(00-59)
如:Format("2010-5-19:8:5", "nn")=08
s:秒数(0-59)
如:Format("2010-5-19:8:5", "s")=5
ss:两位数表示的秒数(00-59)
如:Format("2010-5-19:8:5", "ss")=05
ttttt:标准时间,当小时数小于10时不带0,与h:mm:ss 或h:nn:ss 相同
如:Format("2010-5-19:8:5", "ttttt")=9:08:05
AM/PM:显示当前为AM或PM
如:Format("2010-5-111:59:59", "AM/PM")=AM
Format("2010-5-112:0:0", "AM/PM")=PM
A/P:显示当前为A或P
与 AM/PM 一样,这里不再举例。
说明:
可以多种格式联合使用,如:
Format("2010-5-1 9:8:5", "dddddd aaaa")=2010年5月1日星期六
三、文本格式
@:匹配位置插入格式化文本,如:
在"abcde"前插入文本"X",代码为:Format("abcde","X@")=Xabcde
在"abcde"第1位字符后面插入文本"X",代码为:Format("abcde","@X")=aXbcde
在"abcde"第2位字符后面插入文本"X",代码为:Format("abcde","@@X")=abXcde
在"abcde"第3位字符后面插入文本"X",代码为:Format("abcde","@@@X")=abcXde
当点位符@比原文本字符串多时,刚在相应位置上添加空格,如:
Format("abc", "X@@@@")="X abc"
Format("abc", "X@@@@@")="X abc"
Format("t", "@@a@")=" at"(空格空格at)
与!配合可从后面截取一段文本,如:
截取"abcde"后面1个字符文本,代码为:Format("abcde","!@")=e
截取"abcde"后面2个字符文本,代码为:Format("abcde","!@@")=de
截取"abcde"后面3个字符文本,代码为:Format("abcde","!@@@")=cde
截取"abcde"后面两位,并在前面添加"XY",代码为:Format("abcde","!XY@@")=XYde
&:字符占位符,与@基本相同
<:强制将所有字符以小写格式显示。
如:Format$("I LoveYou", "<")=i love you
>:强制将所有字符以大写格式显示。
如:Format$("ILove You", ">")=I LOVE YOU
delphi中format函数详解
format('% * . * f',[10,4,num]);
解析: 返回num变量格式化后的字符。整数位为10位,小数后为4位。
例如:num=1234567890.123456,处理后为“1234567890.1234”的字符串。
format函数,返回一个指定格式的字符。
function Format(const Format: string; const Args: array of const): string;
具体说明:
const Fromat:string :格式信息
const Args: 数组。
主要是格式信息比较麻烦。
格式化信息主要有以下元素组成:
"%" + [索引 ":"] + ["-"] + [宽度] + ["." 摘要] + 类型
格式化信息功能总结如下:
Format('x=%d', [12]); //'x=12' //最普通
Format('x=%3d', [12]); //'x= 12' //指定宽度
Format('x=%f', [12.0]); //'x=12.00' //浮点数
Format('x=%.3f', [12.0]); //'x=12.000' //指定小数
Format('x=%8.2f'[12.0]) // 'x= 12.00' ;
Format('x=%.*f', [5, 12.0]); //'x=12.00000' //动态配置
Format('x=%.5d', [12]); //'x=00012' //前面补充0
Format('x=%.5x', [12]); //'x=0000C' //十六进制
Format('x=%1:d%0:d', [12, 13]); //'x=1312' //使用索引
Format('x=%p', [nil]); //'x=00000000' //指针
Format('x=%1.1e', [12.0]); //'x=1.2E+001' //科学记数法
Format('x=%%', []); //'x=%' //得到"%"
S := Format('%s%d', [S, I]); //S := S + StrToInt(I); //连接字符串
格式化信息详解:
index ":"]这个要怎么表达呢,看一个例子
Format('this is %d %d',[12,13]);
其中第一个%d的索引是0,第二个%d是1,所以字符显示的时候是这样 this is 12 13
而如果你这样定义:
Format('this is %1:d %0:d',[12,13]);
那么返回的字符串就变成了this is 13 12。现在明白了吗,[index ":"] 中的index指示Args中参数显示的顺序还有一种情况,如果这样
Format('%d %d %d %0:d %d', [1, 2, 3, 4])
将返回1 2 3 1 2。
如果你想返回的是1 2 3 1 4,必须这样定:
Format('%d %d %d %0:d %3:d', [1, 2, 3, 4])
但用的时候要注意,索引不能超出Args中的个数,不然会引起异常如
Format('this is %2:d %0:d',[12,13]);
由于Args中只有12 13 两个数,所以Index只能是0或1,这里为2就错了[width] 指定将被格式化的值占的宽度,看一个例子就明白了
Format('this is %4d',[12]);
输出是:this is 12,这个是比较容易,不过如果Width的值小于参数的长度,则没有效果。
如:
Format('this is %1d',[12]);
输出是:this is 12
["-"]这个指定参数向左齐,和[width]合在一起最可以看到效果:
Format('this is %-4d,yes',[12]);
输出是:this is 12 ,yes
["." prec] 指定精度,对于浮点数效果最佳:
Format('this is %.2f',['1.1234]);
输出 this is 1.12
Format('this is %.7f',['1.1234]);
输出了 this is 1.1234000
而对于整型数,如果prec比如整型的位数小,则没有效果反之比整形值的位数大,则会在整型值的前面以0补之
Format('this is %.7d',[1234]);
输出是:this is 0001234]
对于字符型,刚好和整型值相反,如果prec比字符串型的长度大则没有效果,反之比字符串型的长度小,则会截断尾部的字符
Format('this is %.2s',['1234']);
输出是 this is 12,而上面说的这个例子:
Format('this is %e',[-2.22]);
返回的是:this is -2.22000000000000E+000,怎么去掉多余的0呢,这个就行啦
Format('this is %.2e',[-2.22]);