在 WindowsForms (VS13)的程序中,我有一个标签,其中包含变量的值:
label6.Text = indicators.money.ToString();
当我这样做时,我在屏幕上获得了变量 money 的值: 50 。但我需要将其显示为 50 $ 。如何在不添加一个标签的情况下做到这一点?
答案 0 :(得分:2)
.Net框架提供了一种用货币值显示货币符号的方法。
根据您的情况,您可以这样做:
label6.Text = indicators.money.ToString("C");
但是Jon Skeet has pointed out in commen t:
这里的方法将使用当前的文化来确定 适当的货币符号,以及如何/在何处显示它。
因此,如果您的文化是en-US
,您将获得值之前的货币符号,如:
$23.25
您可以使用以下属性更改文化:NumberFormatInfo.CurrencyPositivePattern Property和NumberFormatInfo.CurrencyNegativePattern Property。像:
CultureInfo ci = new CultureInfo("en-US");
ci.NumberFormat.CurrencyPositivePattern = 1;
decimal money = 23.25M;
string str = money.ToString("C", ci);
然后你会得到:
"23.25$"
CurrencyPositivePatter
需要一个确定货币符号位置的int值,对于en-US
文化来说就像是:
0 $n
1 n$
2 $ n //(with a space)
3 n $ //(with a space)
您可能会看到:Standard Numeric Format Strings - Currency Format specifier
“C”(或货币)格式说明符将数字转换为字符串 代表货币金额。精度说明符表示 结果字符串中所需的小数位数。如果 省略精度说明符,默认精度由。定义 NumberFormatInfo.CurrencyDecimalDigits属性。