在C#中,数字的定义和表示方式非常直观和多样化,涵盖了整数、浮点数、十六进制数、科学记数法等多种形式。下面是一些基本的数字定义方式:
- 整数
- 十进制:标准的数字表示方法。
int number = 123;
- 十六进制:以`0x`或`0X`开头,后面跟着十六进制数字(0-9, A-F)。
int hexNumber = 0x7B; // 等于十进制的123
- 八进制:以`0`开头,后面跟着八进制数字(0-7)。
int octalNumber = 0173; // 等于十进制的123
- 二进制:以`0b`或`0B`开头,后面跟着二进制数字(0, 1)。
int binaryNumber = 0b1111011; // 等于十进制的123
- 浮点数
- 单精度浮点数:使用`float`关键字,通常以`f`或`F`结尾。
float floatNumber = 123.45f;
- 双精度浮点数:使用`double`关键字,通常以`d`或`D`结尾,但在不指定的情况下默认为双精度。
double doubleNumber = 123.45; // 或者 doubleNumber = 123.45D;
- 科学记数法:使用`e`或`E`表示指数部分。
double scientificNumber = 1.23e2; // 等于123.0
- 长整数和长浮点数
- 长整数:使用`long`关键字,通常以`L`或`l`结尾。
long longNumber = 1234567890123456789L; // 或者 longNumber = 1234567890123456789l;
- 大数:使用`decimal`关键字,适用于需要高精度的金融计算等场景。
decimal decimalNumber = 123.45m; // 或者 decimalNumber = 123.45M;
- 下划线分隔符(C#7.0+)
从C#7.0开始,可以在数字字面量中使用下划线来提高可读性,这在处理大数字时特别有用。
int largeNumber = 1_000_000; // 一百万
long largeLongNumber = 1_000_000_000_000L; // 一万亿
double largeDoubleNumber = 1_234_567.89D; // 带下划线的浮点数