string.format(string.format()的用法)
大家好,string.format相信很多的网友都不是很明白,包括string.format()的用法也是一样,不过没有关系,接下来就来为大家分享关于string.format和string.format()的用法的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
string.format()的用法
String.format()用法
1、转换符
%s:字符串类型,如:"ljq"
%b:布尔类型,如:true
%d:整数类型(十进制),如:99
%f:浮点类型,如:99.99
%%:百分比类型,如:%
%n:换行符
2、常见日期时间格式化
c:包括全部日期和时间信息星期六十月 27 14:21:20 CST 2007
F:"年-月-日"格式,如:2007-10-27
D:"月/日/年"格式,如:10/27/07
r:"HH:MM:SS PM"格式(12时制),如:02:25:51下午
T:"HH:MM:SS"格式(24时制),如:14:28:16
R:"HH:MM"格式(24时制),如:14:28
3、格式化日期字符串
b或者h:月份简称,如
中:十月
英:Oct
B:月份全称,如
中:十月
英:October
a:星期的简称,如
中:星期六
英:Sat
A:星期的全称,如:
中:星期六
英:Saturday
扩展资料
String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的读者应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。
format(String format, Object... args)
该方法使用指定的字符串格式和参数生成格式化的新字符串。新字符串始终使用本地语言环境。例如当前日期信息在中国语言环境中的表现形式为“2007-10-27”,但是在其他国家有不同的表现形式。
语法:
String.format(format,args...)
format:字符串格式。
args...:字符串格式中由格式说明符引用的参数。如果还有格式说明符以外的参数,则忽略这些额外的参数。参数的数目是可变的,可以为0。
format(Locale locale, String format, Object... args)
该方法使用指定的语言环境、字符串格式和参数生成一个格式化的新字符串。新字符串始终使用指定的语言环境。
string.format用法
参数
format
类型:System..::.String
复合格式字符串。
args
类型:array<System..::.Object>[]()[]
包含零个或多个要格式化的对象的 Object数组。
返回值
类型:System..::.String
format的一个副本,其中格式项已替换为 args中相应 Object实例的 String等效项。
异常
异常条件
ArgumentNullException format或 args为 nullNothingnullptrnull引用(在 Visual Basic中为 Nothing)。
FormatException format无效。
-或-
用于指示要格式化的参数的数字小于零,或者大于等于 args数组的长度。
备注
此方法使用.NET Framework的复合格式设置功能将对象的值转换为其文本表示形式,并将该表示形式嵌入字符串中。.NET Framework提供了广泛的格式设置支持,下面的格式设置主题中对此有更详细的描述。
有关 Format、AppendFormat等方法以及 WriteLine的某些重载所支持的复合格式设置功能的更多信息,请参见复合格式设置。
有关数值格式说明符的更多信息,请参见标准数字格式字符串和自定义数字格式字符串。
有关日期和时间格式说明符的更多信息,请参见标准日期和时间格式字符串和自定义日期和时间格式字符串。
有关枚举格式说明符的更多信息,请参见枚举格式字符串。
有关格式设置的更多信息,请参见为类型设置格式和格式设置概述。
format参数由零个或多个文本序列与零个或多个索引占位符混合组成,其中索引占位符称为格式项,它们与此方法的参数列表中的对象相对应。格式设置过程将每个格式项替换为相应对象值的文本表示形式。
格式项的语法是{索引[,对齐方式][:格式字符串]},它指定了一个强制索引、格式化文本的可选长度和对齐方式,以及格式说明符字符的可选字符串,其中格式说明符字符用于控制如何设置相应对象的值的格式。格式项的组成部分包括:
索引
从零开始的整数,指示对象列表中要格式化的元素。如果由索引指定的对象为 nullNothingnullptrnull引用(在 Visual Basic中为 Nothing),则格式项将被空字符串("")替换。
对齐方式
可选整数,指示包含格式化值的区域的最小宽度。如果格式化值的长度小于对齐方式,则用空格填充该区域。如果对齐方式为负,则格式化值将在该区域中左对齐;如果对齐方式为正,则格式化值将右对齐。如果没有指定对齐方式,则该区域的长度为格式化值的长度。如果指定对齐方式,则需要使用逗号。
格式字符串
可选的格式说明符字符串。如果没有指定格式字符串,并且对应的参数实现了 IFormattable接口,则将 nullNothingnullptrnull引用(在 Visual Basic中为 Nothing)用作 IFormattable..::.ToString格式字符串。因此,IFormattable..::.ToString的所有实现都必须允许 nullNothingnullptrnull引用(在 Visual Basic中为 Nothing)作为格式字符串,并以 String对象的形式返回对象表示形式的默认格式设置。如果指定格式字符串,则需要使用冒号。
必须使用前导大括号字符和尾部大括号字符,即“{”和“}”。若要在 format中指定单个大括号字符,请指定两个前导大括号字符或尾部大括号字符;即“{{”或“}}”。
如果 format的值为“Thank you for your purchase of{0:####} copies of Microsoft®.NET(Core Reference).”,并且 arg[0]是值为 123的 Int16,则返回值为:
“Thank you for your purchase of 123 copies of Microsoft®.NET(Core Reference).”
如果 format的值为“Brad's dog has{0,-8:G} fleas.”,arg[0]是值为 42的 Int16(在此示例中,下划线表示填充空格),则返回值为:
“Brad's dog has 42______ fleas.”
示例
下面的代码示例演示数字、日期和枚举的标准格式设置说明符。
Visual Basic复制代码
' This code example demonstrates the String.Format() method.
' This example uses the provider parameter to supply formatting
' information using the invariant culture.
Imports System.Globalization
Class Sample
Public Enum Color
Yellow= 1
Blue= 2
Green= 3
End Enum'Color
Private Shared thisDate As DateTime= DateTime.Now
Public Shared Sub Main()
' Store the output of the String.Format method in a string.
Dim s As String=""
Console.Clear()
' Format a negative integer or floating-point number in various ways.
Console.WriteLine("Standard Numeric Format Specifiers")
s= String.Format(CultureInfo.InvariantCulture, _
"(C) Currency:........{0:C}"& vbCrLf& _
"(D) Decimal:.........{0:D}"& vbCrLf& _
"(E) Scientific:.......{1:E}"& vbCrLf& _
"(F) Fixed point:.......{1:F}"& vbCrLf& _
"(G) General:.........{0:G}"& vbCrLf& _
"(default):........{0}(default='G')"& vbCrLf& _
"(N) Number:.........{0:N}"& vbCrLf& _
"(P) Percent:.........{1:P}"& vbCrLf& _
"(R) Round-trip:.......{1:R}"& vbCrLf& _
"(X) Hexadecimal:.......{0:X}"& vbCrLf, _
- 123,- 123.45F)
Console.WriteLine(s)
' Format the current date in various ways.
Console.WriteLine("Standard DateTime Format Specifiers")
s= String.Format(CultureInfo.InvariantCulture.DateTimeFormat, _
"(d) Short date:.......{0:d}"& vbCrLf& _
"(D) Long date:........{0:D}"& vbCrLf& _
"(t) Short time:.......{0:t}"& vbCrLf& _
"(T) Long time:........{0:T}"& vbCrLf& _
"(f) Full date/short time:..{0:f}"& vbCrLf& _
"(F) Full date/long time:...{0:F}"& vbCrLf& _
"(g) General date/short time:.{0:g}"& vbCrLf& _
"(G) General date/long time:.{0:G}"& vbCrLf& _
"(default):........{0}(default='G')"& vbCrLf& _
"(M) Month:..........{0:M}"& vbCrLf& _
"(R) RFC1123:.........{0:R}"& vbCrLf& _
"(s) Sortable:........{0:s}"& vbCrLf& _
"(u) Universal sortable:...{0:u}(invariant)"& vbCrLf& _
"(U) Universal sortable:...{0:U}"& vbCrLf& _
"(Y) Year:..........{0:Y}"& vbCrLf, _
thisDate)
Console.WriteLine(s)
' Format a Color enumeration value in various ways.
Console.WriteLine("Standard Enumeration Format Specifiers")
s= String.Format(CultureInfo.InvariantCulture, _
"(G) General:.........{0:G}"& vbCrLf& _
"(default):........{0}(default='G')"& vbCrLf& _
"(F) Flags:..........{0:F}(flags or integer)"& vbCrLf& _
"(D) Decimal number:.....{0:D}"& vbCrLf& _
"(X) Hexadecimal:.......{0:X}"& vbCrLf, _
Color.Green)
Console.WriteLine(s)
End Sub'Main
End Class'Sample
'
' This example displays the following output to the console:
'
' Standard Numeric Format Specifiers
'(C) Currency:........(123.00)
'(D) Decimal:.........-123
'(E) Scientific:.......-1.234500E+002
'(F) Fixed point:.......-123.45
'(G) General:.........-123
'(default):........-123(default='G')
'(N) Number:.........-123.00
'(P) Percent:.........-12,345.00%
'(R) Round-trip:.......-123.45
'(X) Hexadecimal:....... FFFFFF85
'
' Standard DateTime Format Specifiers
'(d) Short date:....... 07/09/2007
'(D) Long date:........ Monday, 09 July 2007
'(t) Short time:....... 13:42
'(T) Long time:........ 13:42:50
'(f) Full date/short time:.. Monday, 09 July 2007 13:42
'(F) Full date/long time:... Monday, 09 July 2007 13:42:50
'(g) General date/short time:. 07/09/2007 13:42
'(G) General date/long time:. 07/09/2007 13:42:50
'(default):........ 07/09/2007 13:42:50(default='G')
'(M) Month:.......... July 09
'(R) RFC1123:......... Mon, 09 Jul 2007 13:42:50 GMT
'(s) Sortable:........ 2007-07-09T13:42:50
'(u) Universal sortable:... 2007-07-09 13:42:50Z(invariant)
'(U) Universal sortable:... Monday, 09 July 2007 20:42:50
'(Y) Year:.......... 2007 July
'
' Standard Enumeration Format Specifiers
'(G) General:......... Green
'(default):........ Green(default='G')
'(F) Flags:.......... Green(flags or integer)
'(D) Decimal number:..... 3
'(X) Hexadecimal:....... 00000003
C#复制代码
// This code example demonstrates the String.Format() method.
// Formatting for this example uses the"en-US" culture.
using System;
using System.Globalization;
class Sample
{
enum Color{Yellow= 1, Blue, Green};
static DateTime thisDate= DateTime.Now;
public static void Main()
{
// Store the output of the String.Format method in a string.
string s="";
Console.Clear();
// Format a negative integer or floating-point number in various ways.
Console.WriteLine("Standard Numeric Format Specifiers");
s= String.Format(CultureInfo.InvariantCulture,
"(C) Currency:........{0:C}\n"+
"(D) Decimal:.........{0:D}\n"+
"(E) Scientific:.......{1:E}\n"+
"(F) Fixed point:.......{1:F}\n"+
"(G) General:.........{0:G}\n"+
"(default):........{0}(default='G')\n"+
"(N) Number:.........{0:N}\n"+
"(P) Percent:.........{1:P}\n"+
"(R) Round-trip:.......{1:R}\n"+
"(X) Hexadecimal:.......{0:X}\n",
-123,-123.45f);
Console.WriteLine(s);
// Format the current date in various ways.
Console.WriteLine("Standard DateTime Format Specifiers");
s= String.Format(CultureInfo.InvariantCulture.DateTimeFormat,
"(d) Short date:.......{0:d}\n"+
"(D) Long date:........{0:D}\n"+
"(t) Short time:.......{0:t}\n"+
"(T) Long time:........{0:T}\n"+
"(f) Full date/short time:..{0:f}\n"+
"(F) Full date/long time:...{0:F}\n"+
"(g) General date/short time:.{0:g}\n"+
"(G) General date/long time:.{0:G}\n"+
"(default):........{0}(default='G')\n"+
"(M) Month:..........{0:M}\n"+
"(R) RFC1123:.........{0:R}\n"+
"(s) Sortable:........{0:s}\n"+
"(u) Universal sortable:...{0:u}(invariant)\n"+
"(U) Universal sortable:...{0:U}\n"+
"(Y) Year:..........{0:Y}\n",
thisDate);
Console.WriteLine(s);
// Format a Color enumeration value in various ways.
Console.WriteLine("Standard Enumeration Format Specifiers");
s= String.Format(CultureInfo.InvariantCulture,
"(G) General:.........{0:G}\n"+
"(default):........{0}(default='G')\n"+
"(F) Flags:..........{0:F}(flags or integer)\n"+
"(D) Decimal number:.....{0:D}\n"+
"(X) Hexadecimal:.......{0:X}\n",
Color.Green);
Console.WriteLine(s);
}
}
/*
This example displays the following output to the console:
Standard Numeric Format Specifiers
(C) Currency:........(123.00)
(D) Decimal:.........-123
(E) Scientific:.......-1.234500E+002
(F) Fixed point:.......-123.45
(G) General:.........-123
(default):........-123(default='G')
(N) Number:.........-123.00
(P) Percent:.........-12,345.00%
(R) Round-trip:.......-123.45
(X) Hexadecimal:....... FFFFFF85
Standard DateTime Format Specifiers
(d) Short date:....... 07/09/2007
(D) Long date:........ Monday, 09 July 2007
(t) Short time:....... 13:48
(T) Long time:........ 13:48:05
(f) Full date/short time:.. Monday, 09 July 2007 13:48
(F) Full date/long time:... Monday, 09 July 2007 13:48:05
(g) General date/short time:. 07/09/2007 13:48
(G) General date/long time:. 07/09/2007 13:48:05
(default):........ 07/09/2007 13:48:05(default='G')
(M) Month:.......... July 09
(R) RFC1123:......... Mon, 09 Jul 2007 13:48:05 GMT
(s) Sortable:........ 2007-07-09T13:48:05
(u) Universal sortable:... 2007-07-09 13:48:05Z(invariant)
(U) Universal sortable:... Monday, 09 July 2007 20:48:05
(Y) Year:.......... 2007 July
Standard Enumeration Format Specifiers
(G) General:......... Green
(default):........ Green(default='G')
(F) Flags:.......... Green(flags or integer)
(D) Decimal number:..... 3
(X) Hexadecimal:....... 00000003
*/
String.format("%02d", year)是什么意思
1、String.format("%02d", year)
2、year格式化为至少2位十进制整数
譬如int year= 5;结果为05
3、string.format是格式化字符串最大的好处是有多个参数的时候只在内存中分布一个字符串如过用++的方式就会分布多个
例如:C#code
stringsql="select"+colname+"from"+tablename;//这个拼装的字符串就会在拼装的时候再内存中多分配了两个字符串空间(引号的内容)
非常感谢您的阅读!我们希望本文对于解决您关于string.format的问题提供了一些有价值的信息。如果您还有其他疑问,我们将很乐意为您提供进一步的帮助。