我有 int 和可为 null 的 int 变量,我想使用特定的区域性格式将它们转换为字符串,即用点分隔数字。
var culture = CultureInfo.CreateSpecificCulture("de-DE");
int contactSum = 123456;
int? resultSum = 654321;
对于 int 我可以做以下事情:
Console.WriteLine($"The contact sum was: {contactSum.ToString("N0", culture)}");
这将输出以下内容
The contact sum was: 123.456
但是,可为空的 int 没有用于格式化的重载。如何以与 int 相同的方式格式化可为空的 int?还是有更好的方法来进行这种类型的格式化?
最终结果如下:
The result sum was: 654.321
最佳答案
以下是实现目标的两种不同方式。
var culture = CultureInfo.CreateSpecificCulture("de-DE");
int contactSum = 123456;
int? resultSum = 654321;
Console.WriteLine($"The contact sum was: {contactSum.ToString("N0", culture)}");
Console.WriteLine($"The contact sum was: {resultSum?.ToString("N0", culture)}");
Console.WriteLine($"The contact sum was: {(resultSum.HasValue ? resultSum.Value.ToString("N0", culture) : "NULL")}");
关于c# - 可为空的 int 特定于 String() 的文化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55847976/