You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写带千位分隔符的数字字面量?C#支持逗号千位分隔吗?

关于逗号作为分隔符的问题

C# 语法不支持使用逗号作为数字字面量的千位分隔符,你示例中的int million = 1,000,000;会触发编译错误,因为逗号在C#中默认被识别为变量声明分隔符、方法参数分隔符等语法符号,无法被解析为数字的一部分。

正确的数字分隔符写法

从C# 7.0版本开始,官方提供了*下划线(_)*作为合法的数字字面量分隔符,支持所有数值类型(int、long、decimal、double、float等),也支持十进制、二进制、十六进制等不同进制的字面量使用,分隔位置无强制要求,完全是为了提升代码可读性设计,编译器会自动忽略下划线不影响最终数值。

常用示例:

// 整型千位分隔
int million = 1_000_000;
// 长整型大数值
long totalCount = 12_345_678_901L;
// 带小数的decimal类型
decimal goodsPrice = 2_399.99m;
// double类型
double precisionValue = 3_141592.6535_8979;
// 二进制按字节分隔
int binaryFlag = 0b1101_0010_1011_0001;
// 十六进制按字节分隔
int hexValue = 0xAB_3F_2E_10;

低版本C#兼容方案

如果你的项目使用的是C# 7.0以下的旧版本,无法使用下划线分隔符,有两种可选方案:

  • 直接书写无分隔符的数字字面量,仅在需要输出显示时,通过格式化方法实现千位分隔效果,示例:
    int million = 1000000;
    // 输出时格式化为带千位分隔的字符串,输出结果为 "1,000,000"
    string displayStr = million.ToString("N0");
    
  • 升级项目的C#语言版本到7.0及以上,即可直接使用下划线分隔符特性。

内容的提问来源于stack exchange,提问作者OfirD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 23:39:03