如何格式化字符串作为越南的货币?(How to format a string as Vietnam

2019-07-31 07:35发布

如果我设置[区域和语言]格式美国...

CultureInfo cul = CultureInfo.CurrentCulture;
string decimalSep = cul.NumberFormat.CurrencyDecimalSeparator;//decimalSep ='.'
string groupSep = cul.NumberFormat.CurrencyGroupSeparator;//groupSep=','
sFormat = string.Format("#{0}###", groupSep);
string a = double.Parse(12345).ToString(sFormat);

其结果是: 12,345 (正确)

但如果我设置[区域和语言]格式越南,那么结果是: 12345

结果应该是12.345

你能帮助我吗? 谢谢。

Answer 1:

你是在帮助太多了。 该格式说明是文化不敏感的,你总是使用逗号来指示分组字符去。 然后由实际分组字符取代时,字符串格式。

这个正确的格式:

        CultureInfo cul = CultureInfo.GetCultureInfo("vi-VN");   // try with "en-US"
        string a = double.Parse("12345").ToString("#,###", cul.NumberFormat);

你应该实际使用“#,#”,以确保它仍然工作在具有罕见的分组文化。 这是不是从我踢的问题,即是否要紧还是不太清楚“####”



Answer 2:

尝试是这样的:

var value = 8012.34m;
var info = System.Globalization.CultureInfo.GetCultureInfo("vi-VN");
Console.WriteLine(String.Format(info, "{0:c}", value));

其结果是:

8.012,34 ₫

哦,并与值12345结果是12.345,00 ₫



文章来源: How to format a string as Vietnamese currency?