在C#代码

时间:2016-07-05 18:02:52

标签: c#

在C ++中,您可以使用撇号将数字中的数字与可读性分开:

int num = 1'000'000;

在Ruby中,您可以使用下划线:

num = 1_000_000

C#有类似的语法吗?我尝试了一些不同的搜索,但只提出了以特定格式输出或读取数字的结果。

4 个答案:

答案 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);