C#格式化小数位的方法

C#格式化字符串还是很方便的,之前一直没用过,也就没有缘分了解

[csharp] view plain copy

print?

  1. Double dValue = 95.12345;
  2. int iValue = 10000;
  3. string strValue = "95.12345";
  4. string result = "";
  5. result = Convert.ToDouble(dValue).ToString("0.00");//保留小数点后两位,结果为95.12
  6. result = Convert.ToDouble(iValue).ToString("0.00");//10000.00
  7. result = Convert.ToDouble(strValue).ToString("0.00");//95.12
  8. result = Convert.ToDouble(dValue).ToString("P");//得到小数点后2位的百分比,自动 加上%号;//9512.35%
  9. result = Convert.ToDouble(strValue).ToString("f4");//保留小数点后4位;  //95.1235
  10. //要注意的一点是 Convert.ToDouble一定要是这种双精度的,不然会报错。

String具体的格式化数据的方法

int a = 12345678;
格式为sring输出
Label1.Text = string.Format("asdfadsf{0}adsfasdf",a);
Label2.Text = "asdfadsf"+a.ToString()+"adsfasdf";
Label1.Text = string.Format("asdfadsf{0:C}adsfasdf",a);//asdfadsf¥1,234.00adsfasdf
Label2.Text = "asdfadsf"+a.ToString("C")+"adsfasdf";//asdfadsf¥1,234.00adsfasdf
double b = 1234.12543;
a = 12345678;
格式为特殊的string样式输出
Label1.Text = string.Format("asdfadsf{0:C}adsfasdf",b);//asdfadsf¥1,234.13adsfasdf
Label2.Text = "asdfadsf"+b.ToString("C")+"adsfasdf";//asdfadsf¥1,234.13adsfasdf
Label1.Text = string.Format("{0:C3}",b);//¥1,234.125
Label2.Text = b.ToString("C3");//¥1,234.125
Label1.Text = string.Format("{0:d}",a);//十进制--12345678
Label2.Text = b.ToString("d");//十进制--相同的类型,转换报错
Label1.Text = string.Format("{0:e}",a);//指数--1.234568e+007
Label2.Text = b.ToString("e");//指数--1.234125e+003
Label1.Text = string.Format("{0:f}",a);//定点数--12345678.00
Label2.Text = b.ToString("f");//定点数--1234.13
Label1.Text = string.Format("{0:n}",a);//数值--12,345,678.00
Label2.Text = b.ToString("n");//数值--1,234.13
Label1.Text = string.Format("{0:x}",a);//十六进制--bc614e
Label2.Text = b.ToString("x");//16--带有小数不能转换,出错
Label1.Text = string.Format("{0:g}",a);//通用为最紧凑--12345678
Label2.Text = b.ToString("g");//通用为最紧凑--1234.12543
Label1.Text = string.Format("{0:r}",a);//转来转去不损失精度--整数不允许用,报错
Label2.Text = b.ToString("r");//转来转去不损失精度--1234.12543
b = 4321.12543;
a = 1234;
自定义模式输出:
0 描述:占位符,如果可能,填充位
Label1.Text = string.Format("{0:000000}",a);// 001234
Label2.Text = string.Format("{0:000000}",b);// 004321
# 描述:占位符,如果可能,填充位
Label1.Text = string.Format("{0:#######}",a);// 1234
Label2.Text = string.Format("{0:#######}",b);// 4321
Label1.Text = string.Format("{0:#0####}",a);// 01234
Label2.Text = string.Format("{0:0#0000}",b);// 004321
. 描述:小数点
Label1.Text = string.Format("{0:000.000}",a);//1234.000
Label2.Text = string.Format("{0:000.000}",b);//4321.125
b = 87654321.12543;
a = 12345678;
, 描述:数字分组,也用于增倍器
Label1.Text = string.Format("{0:0,00}",a);// 12,345,678
Label2.Text = string.Format("{0:0,00}",b);// 87,654,32
Label1.Text = string.Format("{0:0,}",a);// 12346
Label2.Text = string.Format("{0:0,}",b);// 87654
Label1.Text = string.Format("{0:0,,}",a);// 12
Label2.Text = string.Format("{0:0,,}",b);// 88
Label1.Text = string.Format("{0:0,,,}",a);// 0
Label2.Text = string.Format("{0:0,,,}",b);// 0
% 描述:格式为百分数
Label1.Text = string.Format("{0:0%}",a);// 1234567800%
Label2.Text = string.Format("{0:#%}",b);// 8765432113%
Label1.Text = string.Format("{0:0.00%}",a);// 1234567800.00%
Label2.Text = string.Format("{0:#.00%}",b);// 8765432112.54%
‘abc‘ 描述:显示单引号内的文本
Label1.Text = string.Format("{0:‘文本‘0}",a);// 文本12345678
Label2.Text = string.Format("{0:文本0}",b);// 文本87654321
/ 描述:后跟1要打印字的字符,也用于转移符/n等
Label1.Text = string.Format("/"你好!/"");// "你好!"
Label2.Text = string.Format("//c//books//new//we.asp");///c/books/new/we.asp
@描述:后跟要打印字的字符,
Label1.Text = string.Format(@"""你好!"""); // "你好!"要打印"则需要输入两对才可以
Label2.Text = string.Format(@"/c/books/new/we.asp");///c/books/new/we.asp

百分数格式应该用“p”这个参数。 
格式 原始数据 结 果 
"{0:P}" 0.40 40%

数字 {0:N2} 12.36 
数字 {0:N0} 13 
货币 {0:c2} $12.36 
货币 {0:c4} $12.3656 
货币 "¥{0:N2}" ¥12.36 
科学计数法 {0:E3} 1.23E+001 
百分数 {0:P} 12.25% P and p present the same. 
日期 {0:D} 2006年11月25日 
日期 {0:d} 2006-11-25 
日期 {0:f} 2006年11月25日 10:30 
日期 {0:F} 2006年11月25日 10:30:00 
日期 {0:s} 2006-11-26 10:30:00 
时间 {0:T} 10:30:00 
DateTime dt = DateTime.Now;
Label1.Text = dt.ToString();//2005-11-5 13:21:25
Label2.Text = dt.ToFileTime().ToString();//127756416859912816
Label3.Text = dt.ToFileTimeUtc().ToString();//127756704859912816
Label4.Text = dt.ToLocalTime().ToString();//2005-11-5 21:21:25
Label5.Text = dt.ToLongDateString().ToString();//2005年11月5日
Label6.Text = dt.ToLongTimeString().ToString();//13:21:25
Label7.Text = dt.ToOADate().ToString();//38661.5565508218
Label8.Text = dt.ToShortDateString().ToString();//2005-11-5
Label9.Text = dt.ToShortTimeString().ToString();//13:21
Label10.Text = dt.ToUniversalTime().ToString();//2005-11-5 5:21:25 
Label1.Text = dt.Year.ToString();//2005
Label2.Text = dt.Date.ToString();//2005-11-5 0:00:00
Label3.Text = dt.DayOfWeek.ToString();//Saturday
Label4.Text = dt.DayOfYear.ToString();//309
Label5.Text = dt.Hour.ToString();//13
Label6.Text = dt.Millisecond.ToString();//441
Label7.Text = dt.Minute.ToString();//30
Label8.Text = dt.Month.ToString();//11
Label9.Text = dt.Second.ToString();//28
Label10.Text = dt.Ticks.ToString();//632667942284412864
Label11.Text = dt.TimeOfDay.ToString();//13:30:28.4412864 
Label1.Text = dt.ToString();//2005-11-5 13:47:04
Label2.Text = dt.AddYears(1).ToString();//2006-11-5 13:47:04
Label3.Text = dt.AddDays(1.1).ToString();//2005-11-6 16:11:04
Label4.Text = dt.AddHours(1.1).ToString();//2005-11-5 14:53:04
Label5.Text = dt.AddMilliseconds(1.1).ToString();//2005-11-5 13:47:04
Label6.Text = dt.AddMonths(1).ToString();//2005-12-5 13:47:04
Label7.Text = dt.AddSeconds(1.1).ToString();//2005-11-5 13:47:05
Label8.Text = dt.AddMinutes(1.1).ToString();//2005-11-5 13:48:10
Label9.Text = dt.AddTicks(1000).ToString();//2005-11-5 13:47:04
Label10.Text = dt.CompareTo(dt).ToString();//0
Label11.Text = dt.Add(?).ToString();//问号为一个时间段 
Label1.Text = dt.Equals("2005-11-6 16:11:04").ToString();//False
Label2.Text = dt.Equals(dt).ToString();//True
Label3.Text = dt.GetHashCode().ToString();//1474088234
Label4.Text = dt.GetType().ToString();//System.DateTime
Label5.Text = dt.GetTypeCode().ToString();//DateTime 
Label1.Text = dt.GetDateTimeFormats(‘s‘)[0].ToString();//2005-11-05T14:06:25
Label2.Text = dt.GetDateTimeFormats(‘t‘)[0].ToString();//14:06
Label3.Text = dt.GetDateTimeFormats(‘y‘)[0].ToString();//2005年11月
Label4.Text = dt.GetDateTimeFormats(‘D‘)[0].ToString();//2005年11月5日
Label5.Text = dt.GetDateTimeFormats(‘D‘)[1].ToString();//2005 11 05
Label6.Text = dt.GetDateTimeFormats(‘D‘)[2].ToString();//星期六 2005 11 05
Label7.Text = dt.GetDateTimeFormats(‘D‘)[3].ToString();//星期六 2005年11月5日
Label8.Text = dt.GetDateTimeFormats(‘M‘)[0].ToString();//11月5日
Label9.Text = dt.GetDateTimeFormats(‘f‘)[0].ToString();//2005年11月5日 14:06
Label10.Text = dt.GetDateTimeFormats(‘g‘)[0].ToString();//2005-11-5 14:06
Label11.Text = dt.GetDateTimeFormats(‘r‘)[0].ToString();//Sat, 05 Nov 2005 14:06:25 GMT 
Label1.Text = string.Format("{0:d}",dt);//2005-11-5
Label2.Text = string.Format("{0:D}",dt);//2005年11月5日
Label3.Text = string.Format("{0:f}",dt);//2005年11月5日 14:23
Label4.Text = string.Format("{0:F}",dt);//2005年11月5日 14:23:23
Label5.Text = string.Format("{0:g}",dt);//2005-11-5 14:23
Label6.Text = string.Format("{0:G}",dt);//2005-11-5 14:23:23
Label7.Text = string.Format("{0:M}",dt);//11月5日
Label8.Text = string.Format("{0:R}",dt);//Sat, 05 Nov 2005 14:23:23 GMT
Label9.Text = string.Format("{0:s}",dt);//2005-11-05T14:23:23
Label10.Text =string.Format("{0:t}",dt);//14:23
Label11.Text = string.Format("{0:T}",dt);//14:23:23
Label12.Text = string.Format("{0:u}",dt);//2005-11-05 14:23:23Z
Label13.Text = string.Format("{0:U}",dt);//2005年11月5日 6:23:23
Label14.Text = string.Format("{0:Y}",dt);//2005年11月
Label15.Text = string.Format("{0}",dt);//2005-11-5 14:23:23
Label16.Text = string.Format("{0:yyyyMMddHHmmssffff}",dt);

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
C 或 c
货币
Console.Write("{0:C}", 2.5); //$2.50
Console.Write("{0:C}", -2.5); //($2.50)
D 或 d
十进制数
Console.Write("{0:D5}", 25); //00025
E 或 e
科学型
Console.Write("{0:E}", 250000); //2.500000E+005
F 或 f
固定点
Console.Write("{0:F2}", 25); //25.00
Console.Write("{0:F0}", 25); //25
G 或 g
常规
Console.Write("{0:G}", 2.5); //2.5
N 或 n
数字
Console.Write("{0:N}", 2500000); //2,500,000.00
X 或 x
十六进制
Console.Write("{0:X}", 250); //FA
Console.Write("{0:X}", 0xffff); //FFFF

c# String 前面不足位数补零的方法

1.string intmp = string.Format("{0:D6}", intNum);
2.string intmp = intNum.ToString("D6");
3.string intmp = intNum.ToString().PadLeft(6, ‘0‘);

时间: 2024-11-17 12:49:40

C#格式化小数位的方法的相关文章

easyui的datebox格式化最简单方法

看了网上有很多的解决方法,我也写一个比较简单方法.实现easyui的datebox格式化.效果如下,用"++"隔开,看你喜欢用什么都可以. 1.html <span class="span1">证件有效期至:</span> <span><input id="passvali" name="hotel.passvali"></span> 2.js /* 证件有效期至 *

在keil中使用Astyle插件格式化代码的方法[转]

一个好的程序,不仅要有好的算法,同时也需要有良好的书写风格.写出好的算法不容易,但是好的代码风格却并不困难.提到格式化代码,Astyle是一个不能错过的工具,它可以方便的将程序代码格式化成自己想要的样式而不必人工修改,并且它是绿色.免费.开源.关于Astyle的介绍帮助及下载,请参考其官方网站:http://astyle.sourceforge.net/. 下面介绍在Keil uVision4 中添加Astyle的方法,上午参考keil的帮助手册,实现了在Keil中很方便的使用Astyle的方法

asp.net 中日期的格式化显示的方法

在Asp.net 中经常使用日期,在不同的场合,对日期的显示方式有不同的要求,为此,自己总结了一些日期格式化的方式,仅供学习参考使用: C#格式化日期时间 DateTime dt = DateTime.Now; Label1.Text = dt.ToString();//2005-11-5 13:21:25 Label2.Text = dt.ToFileTime().ToString();//127756416859912816 Label3.Text = dt.ToFileTimeUtc().

JS在HTML自定义格式化字符串的方法

python中有format方法对字符串进行格式化 JS中可以通过自定义的方法来实现 1 String.prototype.Format = function (args) { 2 /*this代表要调用Format方法的字符串*/ 3 /*replace的第一个参数为正则表达式,g表示处理匹配到的所有字符串,在js中使用//包起来*/ 4 /*replace的第二个参数为匹配字符串的处理,k1匹配结果包含{},k2只保留{}内的内容,g代表匹配所有*/ 5 return this.replac

移动硬盘提示格式化解决的方法,未正确删除导致不能读取文件提示格式化解决方式

问题描写叙述: 今天在Linux下插入移动硬盘进行文件拷贝,然后没有卸载直接拔掉,再次在windows中使用时提示须要格式化. 警示: 这样的问题是因为分区表与文件信息区受到损伤所致,全然能够非常easy的修复,无需格式化. 解决方式: 1.在windows下,開始菜单打开执行,输入cmd,进入命令行模式 2.查看移动硬盘的卷标,比方是I盘:则在命令行中输入下面命令: "chkdsk I:/f" 等待结束重新启动电脑就可以(或者安全删除) 还有一种方法:使用DiskGenius软件进行

移动硬盘无法读取(提示格式化)的修复方法

移动硬盘读取不出来,总是提示格式化怎么办?移动硬盘无法读取需要格式化,这是什么情况?大家在使用移动硬盘的时候,有时候会遇到这样的问题.那么,移动硬盘无法读取(提示格式化)有什么修复方法吗? 移动硬盘读不出来,提示的错误信息如未格式化,文件目录损坏,页内操作错误,函数不正确,无法读取之类的.首先是判断提示未格式化的原因是逻辑损坏还是物理损坏. 如果是逻辑损坏,一般是分区结构出现异常引起的分区错误.当单击右键属性看到的是RAW格式,分区错误很大程度是因为强拔之类的操作,也可能是坏道或本身质量等问题引

js实现格式化JSON数据方法

前言: 最近做的项目中遇到个需要在前端页面中将某个设备需要的数据格式展示出来,方便用户配置.一开始单纯的将数据格式写入到pre标签中, 但是通过pre标签写入的数据格式在代码可视化上不是很优雅.由于上述原因,所以就创建了一个全局的数据格式配置文件,通过es6 中的模板字符串来实现,这样就解决了代码可视化不优雅的问题.但是后面又增加了一个动态数据格式的需求,这样一来就不能通过模板字符串来 解决了,所以就有了这篇文章中讲述的通过js格式画JSON数据的方案,这篇文章旨在记录方案实现的方法,方便自己

idea格式化代码把方法上的文字注释换行的问题

在用idea模板的/** 生成方法注释,生成之后: /** * 分页查询 * @param page * @param size * @return */ 然后有的时候如果代码想用快捷键(CTRL + ALT + L)格式化之后,注释就会变成这样: /** * 分页查询 * * @param page * @param size * @return */ 在文字区域自动换行了,修改设置之后就可以改回来: 步骤: File>Settings>Editor>Code Style>Jav

Visual Studio Code 格式化ESlint 的方法

既然要格式化ESlint,就不得不先介绍一下什么是ESlint.后面再介绍格式化的方法 1.ESlint ESLint 是在 ECMAScript/JavaScript 代码中识别和报告模式匹配的工具,它的目标是保证代码的一致性和避免错误.在许多方面,它和 JSLint.JSHint 相似,除了少数的例外: ESLint 使用 Espree 解析 JavaScript. ESLint 使用 AST 去分析代码中的模式 ESLint 是完全插件化的.每一个规则都是一个插件并且你可以在运行时添加更多