如何在C#中使用自定义数字格式字符串显示点

时间:2015-03-23 20:34:13

标签: c# tostring

我希望以[{1}}格式显示decimal产品价格(乌克兰格里夫纳)。当我使用货币模式100 грн.时,我得到.ToString("c")符号,我不想使用它,所以我决定尝试像这样的东西但是没有显示点。我得到.ToString("#.## грн.")输出但期望грн。我怎么能做到这一点?我想使用字符串模式作为本地化的一部分,因此我可以使用грн.,其中.ToString(Settings.CurrencyOutputPattern) CurrencyOutputPattern "c" USD"#.## грн." UAH对于"#.## руб."

,1}}和RUB

3 个答案:

答案 0 :(得分:2)

您可以将文字.括在单引号中来包含它:

.ToString("#.## грн'.'")

答案 1 :(得分:0)

你可以实现你自己的String / Decimal扩展来使它成为grivan

public string ToGrivna(this decimal ammount)
{
    return ammount.ToString("0.##")+" грн."
}

答案 2 :(得分:0)

如果你想要的是更改货币,那么你可以克隆CurrentCulture并修改它。

CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
culture.NumberFormat.CurrencySymbol = "грн.";

decimal num = 10.24M;
string str = num.ToString("c", culture);

如果您想控制货币的写入位置(左侧或右侧),则NumberFormat有两个属性:NumberFormatInfo.CurrencyPositivePatternNumberFormatInfo.CurrencyNegativePattern

例如,在意大利,我们使用€10.00