c# - 可为空的 int 特定于 String() 的文化

标签 c# int tostring long-integer cultureinfo

我有 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/

相关文章:

c# - Java编码base64,C#解码

Jquery 不将 var 打印为字符串

java - 节点数组 toString Java

c# - 如何将 DirectShow 过滤器转换为 C++\C#?

C# MVC 4 ASP.net,如何将文件插入数据库存储(二进制)

c# - 有什么简单的方法可以使用资源中的图标吗?

c - for(int ii or for(char ii in C?

c - int/char 数组/字符串之间的区别

java - 在 Android 中将 int 转换为 byte

java - toString() 中的无限递归,如何防止这种情况发生?