首页 > 解决方案 > 可空的 int 文化特定于 toString()

问题描述

我有 int 和可为空的 int 变量,我想使用特定的文化格式将它们转换为字符串,即用点分隔数字。

var culture = CultureInfo.CreateSpecificCulture("de-DE");
int contactSum = 123456;
int? resultSum = 654321;

对于 int 我可以执行以下操作:

Console.WriteLine($"The contact sum was: {contactSum.ToString("N0", culture)}");

这将输出以下内容

联系金额为:123.456

然而,可为空的 int 没有用于格式化的重载。如何以与 int 相同的方式格式化可为空的 int?或者有没有更好的方法来进行这种类型的格式化?

最终结果如下:

结果总和为:654.321

标签: c#inttostringlong-integercultureinfo

解决方案


以下是您可以实现目标的两种不同方式。

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")}");

推荐阅读