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.0string str2 =string.Format("{0:N2}",56789); //result: 56,789.00string str3 =string.Format("{0:N3}",56789); //result: 56,789.000string str8 =string.Format("{0:F1}",56789); //result: 56789.0string str9 =string.Format("{0:F2}",56789); //result: 56789.00string str11 =(56789 / 100.0).ToString("#.##"); //result: 567.89string 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) //结果为:023string.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.04string.Format("{0:0000.00}", 194.039) //结果为:0194.04string.Format("{0:###.##}", 12394.039) //结果为:12394.04string.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:37string.Format("{0:F}",System.DateTime.Now) //结果为:2009年3月20日 15:37:52string.Format("{0:g}",System.DateTime.Now) //结果为:2009-3-20 15:38string.Format("{0:G}",System.DateTime.Now) //结果为:2009-3-20 15:39:27string.Format("{0:m}",System.DateTime.Now) //结果为:3月20日string.Format("{0:t}",System.DateTime.Now) //结果为:15:41string.Format("{0:T}",System.DateTime.Now) //结果为:15:41:50 |
C# string.format用法详解的更多相关文章
- C#中string.format用法详解
C#中string.format用法详解 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Form ...
- C#中string.Format 用法详解
这篇文章主要介绍了C#中string.format用法,以实例形式较为详细的讲述了string.format格式化的各种用法,非常具有实用价值,需要的朋友可以参考下 本文实例总结了C#中string. ...
- python format 用法详解
format 用法详解 不需要理会数据类型的问题,在%方法中%s只能替代字符串类型 单个参数可以多次输出,参数顺序可以不相同 填充方式十分灵活,对齐方式十分强大 官方推荐用的方式,%方式将会在后面的版 ...
- STL string 常见用法详解
string 常见用法详解 1. string 的定义 //定义string的方式跟基本数据类型相同,只需要在string后跟上变量名即可 string str; //如果要初始化,可以直接给stri ...
- Swift - 字符串(String)用法详解
下面对String常用的属性和方法做个总结 1,判断是否为空:isEmpty 1 2 3 var str:String if str.isEmpty{ } 2,获取字符数量:countElements ...
- 关于python format()用法详解
str.format() 这个特性从python2.6而来 其实实现的效果和%有些类似 不过有些地方更方便 通过位置映射: In [1]: '{0},{1}'.format('kzc',18) Out ...
- python format用法详解
#常用方法:print('{0},{1}'.format('zhangk', 32)) print('{},{},{}'.format('zhangk','boy',32)) print('{name ...
- BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)
转自:https://blog.csdn.net/ochangwen/article/details/51531866 一.简介 Java在java.math包中提供的API类BigDecimal,用 ...
- c++中string类的详解
,<时返回-1,==时返回0 string的子串:string substr(int pos = 0,int n = npos) const;//返回pos开始的n个字符组成的字符串strin ...
随机推荐
- 百度编辑器UEditor使用方法
http://www.cnblogs.com/lionden/archive/2012/07/13/ueditor.html 介绍图片上传:http://uikoo9.com/blog/detail/ ...
- How to enable mp3 on Ubuntu
apt install gstreamer1.0 libavcodec57
- CSS遮罩效果和毛玻璃效果
前面的话 本文将详细介绍CSS遮罩效果和毛玻璃效果 遮罩效果 普通遮罩 一般地,处理全屏遮罩的方法是使用额外标签 <style>.overlay{ position:fixed; top: ...
- KKT条件
kkt条件背下来容易.理解上还有问题 主要是lambda≥0和lambda*f(x)=0这两个条件懵逼. 下面说明一下为什么 参考:https://blog.csdn.net/newthinker_w ...
- JAVA web 使用有盟推送总结
仔细阅读文档,下边的都是废话. 为了省事,iOS和Android 提供了所有了参数,需要那个了修改传参. //ios actionURL为自定义参数 $.ajax({ type : "POS ...
- mysql语句-DDL语句
SQL分类 1.DDL语句:数据定义语句,用来定义不同的数据段.数据库,表,列,索引等数据表对象,常用语句:create.drop.alter等. 2.DML语句:数据操作语句,用于添加.删除.更新和 ...
- winFormToMysql&&几个控件的数据绑定
运行图: 代码: private void button1_Click(object sender, EventArgs e) { string str = "database=csharp ...
- [USACO12MAR] 花盆Flowerpot
类型:二分+单调队列 传送门:>Here< 题意:给出$N$个点的坐标,要求根据$x$轴选定一段区间$[L,R]$,使得其中的点的最大与最小的$y$值之差$\geq D$.求$Min\{R ...
- Codeforces551 C. GukiZ hates Boxes
二分答案 + 贪心 传送门:$>here<$ $Solution$ 二分时间+贪心验证.思维难度主要在验证上,然而坑人的点却在n的取值上.那么先来谈如何验证.在已知时间的条件下,能否用一种 ...
- sublime3添加verilog自动补全代码段
前言 sublime默认的verilog自动补全十分垃圾,不过提供了代码段这个功能,你可以自己写个重用率高的代码段减轻工作量.写个模板当tb也很爽啦. 流程 1.打开user文件夹,创建verilog ...