设置十进制数字的格式
本文关键字:格式 十进制数字 设置 | 更新日期: 2023-09-27 18:15:20
我有一个十进制数,它总是采用US格式,即带小数点。但有些国家用逗号代替小数点。
这将格式化当前区域性中的字符串:
string.Format("{0:F2} {1}", 100.0018, '€')
结果是:100,00,它有逗号而不是所需的点。
有没有一些函数可以在输入值的小数点上设置格式,在我的例子中是1000018?
我试过这个:
Decimal.TryParse("100.0018", System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.CurrentCulture, out value);
但是结果是10000而不是1000018
您可能想要这样的东西:
string.Format("{0:0.00###############} {1}", 100.0018, '€')
为了使在小数点后至少有两位数字:
100 -> 100.00 €
100.0018 -> 100.0018 €
这应该可以做到:
string.Format("{0:#,#.#####}", 100.0018)
您可以使用NumberFormat
:
class Program
{
static void Main(string[] args)
{
var brazil = new CultureInfo("pt-BR");
var usa = new CultureInfo("en-US");
Console.WriteLine(100.0018m.ToString(brazil.NumberFormat));
Console.WriteLine(100.0018m.ToString(usa.NumberFormat));
Console.ReadKey();
}
}
我的解决方案可能是:string.Format(new CultureInfo("en-US"), "{0:F2} {1}", 100.0018m, '€');
结果:100.00€
string.Format("{0:0.00###############} {1}", 100.0018, '€');
您可以通过使用CultureInfo.CreateSpecificCulture
和来获取货币