在C ++中,您可以使用撇号将数字中的数字与可读性分开:
int num = 1'000'000;
在Ruby中,您可以使用下划线:
num = 1_000_000
C#有类似的语法吗?我尝试了一些不同的搜索,但只提出了以特定格式输出或读取数字的结果。
答案 0 :(得分:30)
截至撰写此答案时,C#中不存在该功能。但是,它有一个feature request,看起来它将成为C#7的一部分,这是即将推出的版本。
功能请求列在他们的C# 7 list of features上,但你可能不应该假设100%它会进入。事情可能会发生变化。
答案 1 :(得分:0)
这对int无效,但使用小数可以使用:
decimal num1 = 1E06M; // 1000000
decimal num2 = 1.23e06m; // 1230000
答案 2 :(得分:0)
C#7.0中引入的小但方便的小功能是数字分隔符,它采用单个下划线(_)的形式。该分隔符可用于任何可提高可读性的数字文字中。数字文字中的数字分隔符始终不会更改该值。不管是否使用分隔符,任何给定的数字都始终与公共语言运行时相同。
// These two are equivalent.
var bigNumber = 123456789012345678;
var bigNumberWithSplit = 123_456_789_012_345_678;
答案 3 :(得分:-1)
与此同时,你仍然可以这样做:
int num = Int32.Parse("1,000,000", NumberStyles.AllowThousands);