使用 String.Format 进行数字格式化

问题描述 投票:0回答:5

是否有任何代码允许在使用 string.format 时对数据进行数字格式化?

.net formatting numeric
5个回答
5
投票

是的,您可以在

:
占位符中的
{}
之后指定格式。

说明符 类型 格式 输出(双1234.56)
0
零占位符
{0:00.000}
1234.560
#
数字占位符
{0:#.##}
1234.56
.
小数点占位符
{0:0.0}
1234.6
,
千位分隔符
{0:0,0}
1,235
%
百分比
{0:0%}
123456%

此外还有组分隔符

;
,这对于根据传递的参数值改变格式很有用。例如:

string.Format("{0:£#,##0.00;(£#,##0.00);Nothing}", value);

如果通过了

"£1,240.00"
,将会输出
1243.56
。如果值为负数,它将输出相同格式的括号
"(£1,240.00)"
,如果数字为零,它将输出字符串
"Nothing"


4
投票

是的,您可以这样格式化:

string.Format("Format number to: {0 : #.00}", number);
string.Format("Format date to: {0 : MM/dd/yyyy}", date);

2
投票

有一个数字。这个 MS 网站可能是最好的查找地点


2
投票

这是另一个非常好的参考资料,它补充了 Keith 提到的内容。

http://www.scribd.com/doc/2547864/msnetformattingstrings


1
投票

正如基思上面所说。我最常用的是货币:

String.Format("{0:c}", 12000);

这将产出 £12,000.00

© www.soinside.com 2019 - 2024. All rights reserved.