字符串.格式的解释
本文关键字:解释 格式 字符串 | 更新日期: 2023-09-27 18:08:38
我不太明白下面一行的格式是如何生成的。
有谁能告诉我,它是如何在格式中呈现值的,用适当的逗号,放在图中的正确位置。
writer.Write(string.Format("Your Estimated Loan Paymement+will be {0:$#,##0.00;($#,##0.00);Zero}", + this.calcPayment(this._pv,1,2) ));
这里calcPayment()
是一个返回数值的函数。例如,如果返回2000.33,则输出为$ 2003.33。
我知道它正在格式化,但是怎么做呢?
谢谢。
分解格式字符串:{0:$#,##0.00;($#,##0.00);Zero}
有3组:
-
$#,##0.00
-当参数(this.calcPayment(this._pv,1,2)
-
($#,##0.00)
-当arg为负时使用 -
Zero
-当arg为零时使用
#
是数字占位符,0
是零占位符(填充)。
格式字符串部分(如$#,##0.00
)中的逗号告诉它是否需要放置逗号(或者,正如@svick正确指出的那样,"组分隔符")。这里有一个不错的参考,它描述了页面中间的格式代码:http://blog.stevex.net/string-formatting-in-csharp/
发生的是Format
方法(函数)使用格式字符串作为模板,然后添加您提供的额外数据。
我猜它是这样的:
0: //this is telling it that this is the zero placeholder in the format string
$#,##0.00 //this is what happens if the value is above zero
($#,##0.00) //this is for values below zero
Zero //literal "Zero" output if the value is equal to zero
编辑-阅读@Jon评论中的链接中的自定义数字格式字符串,确认三个分号分隔的部分确实是指定正、负和零值的格式。