C# string.format用法详解

String.Format 方法的几种定义:

String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项。

String.Format (String, Object[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项。

String.Format (IFormatProvider, String, Object[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项。指定的参数提供区域性特定的格式设置信息。

String.Format (String, Object, Object) 将指定的 String 中的格式项替换为两个指定的 Object 实例的值的文本等效项。

String.Format (String, Object, Object, Object) 将指定的 String 中的格式项替换为三个指定的 Object 实例的值的文本等效项。

常用的格式化数值结果表


字符


说明


示例


输出

C 货币 string.Format("{0:C3}", 2) $2.000
D 十进制 string.Format("{0:D3}", 2) 002
E 科学计数法 1.20E+001 1.20E+001
G 常规 string.Format("{0:G}", 2) 2
N 用分号隔开的数字 string.Format("{0:N}", 250000) 250,000.00
X 十六进制 string.Format("{0:X000}", 12) C
    string.Format("{0:000.000}", 12.2) 012.200

常用的几种实例

1、字符串的数字格式


1

2

3

4

5

6

7

string str1 =string.Format("{0:N1}",56789);               //result: 56,789.0

string str2 =string.Format("{0:N2}",56789);               //result: 56,789.00

string str3 =string.Format("{0:N3}",56789);               //result: 56,789.000

string str8 =string.Format("{0:F1}",56789);               //result: 56789.0

string str9 =string.Format("{0:F2}",56789);               //result: 56789.00

string str11 =(56789 / 100.0).ToString("#.##");           //result: 567.89

string str12 =(56789 / 100).ToString("#.##");             //result: 567

2、格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元)


1

string.Format("{0:C}",0.2)

结果为:¥0.20 (英文操作系统结果:$0.20)

默认格式化小数点后面保留两位小数,如果需要保留一位或者更多,可以指定位数


1

string.Format("{0:C1}",23.15)

结果为:¥23.2 (截取会自动四舍五入)

格式化多个Object实例


1

string.Format("市场价:{0:C},优惠价{1:C}",23.15,19.82)

3、格式化十进制的数字(格式化成固定的位数,位数不能少于未格式化前,只支持整形)


1

2

string.Format("{0:D3}",23) //结果为:023

string.Format("{0:D2}",1223) //结果为:1223,(精度说明符指示结果字符串中所需的最少数字个数。)

4、用分号隔开的数字,并指定小数点后的位数


1

2

string.Format("{0:N}", 14200) //结果为:14,200.00 (默认为小数点后面两位)

string.Format("{0:N3}", 14200.2458) //结果为:14,200.246 (自动四舍五入)

5、格式化百分比


1

2

string.Format("{0:P}", 0.24583) //结果为:24.58% (默认保留百分的两位小数)

string.Format("{0:P1}", 0.24583) //结果为:24.6% (自动四舍五入)

6、零占位符和数字占位符


1

2

3

4

string.Format("{0:0000.00}", 12394.039) //结果为:12394.04

string.Format("{0:0000.00}", 194.039) //结果为:0194.04

string.Format("{0:###.##}", 12394.039) //结果为:12394.04

string.Format("{0:####.#}", 194.039) //结果为:194

下面的这段说明比较难理解,多测试一下实际的应用就可以明白了。

零占位符: 如果格式化的值在格式字符串中出现“0”的位置有一个数字,则此数字被复制到结果字符串中。小数点前最左边的“0”的位置和小数点后最右边的“0”的位置确定总在结果字符串中出现的数字范围。 “00”说明符使得值被舍入到小数点前最近的数字,其中零位总被舍去。

数字占位符: 如果格式化的值在格式字符串中出现“#”的位置有一个数字,则此数字被复制到结果字符串中。否则,结果字符串中的此位置不存储任何值。

请注意,如果“0”不是有效数字,此说明符永不显示“0”字符,即使“0”是字符串中唯一的数字。如果“0”是所显示的数字中的有效数字,则显示“0”字符。 “##”格式字符串使得值被舍入到小数点前最近的数字,其中零总被舍去。

7、日期格式化


1

2

3

4

5

6

7

8

9

string.Format("{0:d}",System.DateTime.Now) //结果为:2009-3-20 (月份位置不是03)

string.Format("{0:D}",System.DateTime.Now) //结果为:2009年3月20日

string.Format("{0:f}",System.DateTime.Now) //结果为:2009年3月20日 15:37

string.Format("{0:F}",System.DateTime.Now) //结果为:2009年3月20日 15:37:52

string.Format("{0:g}",System.DateTime.Now) //结果为:2009-3-20 15:38

string.Format("{0:G}",System.DateTime.Now) //结果为:2009-3-20 15:39:27

string.Format("{0:m}",System.DateTime.Now) //结果为:3月20日

string.Format("{0:t}",System.DateTime.Now) //结果为:15:41

string.Format("{0:T}",System.DateTime.Now) //结果为:15:41:50

  

原文地址:https://www.cnblogs.com/zhaoshujie/p/9686027.html

时间: 2024-10-18 16:13:09

C# string.format用法详解的相关文章

C#中string.format用法详解 [转载]

这篇文章主要介绍了C#中string.format用法,以实例形式较为详细的讲述了string.format格式化的各种用法,非常具有实用价值,需要的朋友可以参考下 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项.String.Format (String, Obj

C#中string.Format 用法详解

这篇文章主要介绍了C#中string.format用法,以实例形式较为详细的讲述了string.format格式化的各种用法,非常具有实用价值,需要的朋友可以参考下 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项.String.Format (String, Obj

C#中string.format用法详解

String.Format 方法的几种定义: String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项.String.Format (String, Object[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项.String.Format (IFormatProvider, String, Object[]) 将指定 String 中的格式项替换为指定数组中相应

python format 用法详解

format 用法详解 不需要理会数据类型的问题,在%方法中%s只能替代字符串类型 单个参数可以多次输出,参数顺序可以不相同 填充方式十分灵活,对齐方式十分强大 官方推荐用的方式,%方式将会在后面的版本被淘汰 format填充字符串 一 填充 1.通过位置来填充字符串 print('hello {0} i am {1}'.format('world','python')) # 输入结果:hello world i am python print('hello {} i am {}'.format

Swift - 字符串(String)用法详解

下面对String常用的属性和方法做个总结 1,判断是否为空:isEmpty 1 2 3 var str:String if str.isEmpty{ } 2,获取字符数量:countElements 1 2 let str = "hangge.com" println("\(countElements(str))个字符") 3,检查字符串是否有特定前缀/后缀:hasPrefix/hasSuffix 1 2 3 var str = "hangge.com&

关于python format()用法详解

str.format() 这个特性从python2.6而来 其实实现的效果和%有些类似 不过有些地方更方便 通过位置映射: In [1]: '{0},{1}'.format('kzc',18) Out[1]: 'kzc,18' In [2]: '{},{}'.format('kzc',18) # 注意python2.6并不支持写为空 Out[2]: 'kzc,18' In [3]: '{1},{0},{1}'.format('kzc',18) Out[3]: '18,kzc,18' 通过关键字参

BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)

转自:https://blog.csdn.net/ochangwen/article/details/51531866 一.简介 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位有效数.在实际应用中,需要对更大或者更小的数进行运算和处理.float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal.BigDecimal所创建的是对象,我们不

c++中string类的详解

通过在网站上的资料搜集,得到了很多关于string类用法的文档,通过对这些资料的整理和加入一些自己的代码,就得出了一份比较完整的关于string类函数有哪些和怎样用的文档了!下面先罗列出string类的函数有哪一些,然后再罗列出函数的原型,最后到代码的实现 标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用.现将具体用法的一部分罗列如下,只起一个抛砖引玉的作用吧,好了,废话少说,直接进入正题吧!要想使用标准C++中string类,必须要包含#include <s

JSON详解+ C# String.Format格式说明+ C# ListView用法详解 很完整

JSON详解 C# String.Format格式说明 C# ListView用法详解 很完整