如何在 C# 中使用自定义数字格式字符串显示点
How to display dot using Custom Numeric Format Strings in C#
我想以 100 грн.
(乌克兰格里夫纳)格式显示 decimal
产品价格。当我使用货币模式 .ToString("c")
时,我得到 ₴
符号,我不想使用它,所以我决定尝试类似 .ToString("#.## грн.")
的东西,但没有显示点。我得到 грн
输出但期望 грн.
。我怎样才能做到这一点?我想使用字符串模式作为本地化的一部分,所以我可以使用类似 .ToString(Settings.CurrencyOutputPattern)
的东西,其中 CurrencyOutputPattern
是 "c"
代表 USD
,"#.## грн."
代表 UAH
和 "#.## руб."
对于 RUB
您可以实施自己的 String/Decimal 扩展以使其成为 grivan
public string ToGrivna(this decimal ammount)
{
return ammount.ToString("0.##")+" грн."
}
如果你想要更改货币,那么你可以克隆 CurrentCulture
并修改它。
CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
culture.NumberFormat.CurrencySymbol = "грн.";
decimal num = 10.24M;
string str = num.ToString("c", culture);
如果要控制货币写入的位置(左o右),NumberFormat
有两个属性:NumberFormatInfo.CurrencyPositivePattern and NumberFormatInfo.CurrencyNegativePattern
例如在意大利,我们使用 10.00 欧元
您可以将文字 .
括在单引号中:
.ToString("#.## грн'.'")
我想以 100 грн.
(乌克兰格里夫纳)格式显示 decimal
产品价格。当我使用货币模式 .ToString("c")
时,我得到 ₴
符号,我不想使用它,所以我决定尝试类似 .ToString("#.## грн.")
的东西,但没有显示点。我得到 грн
输出但期望 грн.
。我怎样才能做到这一点?我想使用字符串模式作为本地化的一部分,所以我可以使用类似 .ToString(Settings.CurrencyOutputPattern)
的东西,其中 CurrencyOutputPattern
是 "c"
代表 USD
,"#.## грн."
代表 UAH
和 "#.## руб."
对于 RUB
您可以实施自己的 String/Decimal 扩展以使其成为 grivan
public string ToGrivna(this decimal ammount)
{
return ammount.ToString("0.##")+" грн."
}
如果你想要更改货币,那么你可以克隆 CurrentCulture
并修改它。
CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
culture.NumberFormat.CurrencySymbol = "грн.";
decimal num = 10.24M;
string str = num.ToString("c", culture);
如果要控制货币写入的位置(左o右),NumberFormat
有两个属性:NumberFormatInfo.CurrencyPositivePattern and NumberFormatInfo.CurrencyNegativePattern
例如在意大利,我们使用 10.00 欧元
您可以将文字 .
括在单引号中:
.ToString("#.## грн'.'")