举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > c#数字类型 C# 数字类型

c#数字类型 C# 数字类型

2023-02-24 14:18 C#教程

c#数字类型 C# 数字类型

c#数字类型

C#中的数字类型是用来表示数字的一种数据类型,它们可以用来表示整数、浮点数、布尔值或其他特殊的值。C#中的数字类型可以分为内置的基本数字类型(如int、float、double)和用户定义的复合数字类型(如decimal、complex)。

C#中内置的基本数字类型包括int、float、double、bool 和 char。int 类型是一个32位有符号整形,它可以表达-2147483648到2147483647之间的任意一个正负整形。float 类型是一个32位单精度浮点形,它可以表达-3.402823e38到3.402823e38之间的任意一个正负浮动形。double 类型是一个64位双精度浮动形,它可以表达-1.79769313486232e308到1.79769313486232e308之间的任意一个正负浮动形。bool 类型是一个布尔形,它可以表达true或false。char 类型是一个16位无符号Unicode字符,它可以表达U+0000到U+ffff之间的任意一个Unicode字符。

C#中用户定义的复合数字类型包括decimal 和 complex 。decimal 是128位十进制浮动形,它能够准备地表达-79,228,162,514,264,337,593,543,950,335 到 79,228,162,514,264,337,593,543,950,335 之间的所有十进制数字。complex 是复杂形式,它能够准备地表达所有复杂形式中所有不同部分之间关于加法、乘法、除法运作方式的关于不同部分之间关于加法、乘法、除法运作方式的关于不同部分之间关于加法、乘法、除法运作方式的关于不同部分之间关于加法、乘法、除法运作方式的所有信息。

public static void Main() 
{ 
    int a = 10; 
    float b = 20.5f; 
    double c = 30.5; 
    bool d = true; 
    char e = 'A'; 

    decimal f = 40.5m; 

    Complex g = new Complex(50.5);

    Console.WriteLine("a: {0}, b: {1}, c: {2}, d: {3}, e: {4}, f: {5}, g: {6}", a ,b ,c ,d ,e ,f ,g);  
}   

C# 数字类型

C#数字类型

C#具有下表中显示的预定义数字类型。

有符号整数

C#类型系统类型后缀大小范围
sbyteSByte无后缀8位-27 2-1
shortInt16无后缀16位-215 至215 -1
intInt32无后缀32位-231 至231 -1
longInt64L64位-263 至263 -1

无符号整数

C#类型系统类型后缀尺寸范围
byteByte无后缀8位0〜28 -1
ushortUInt16无后缀16位0〜216 -1
uintUInt32U32位0至232 -1
ulongUInt64UL64位0至264 -1

实数

C#类型系统类型后缀尺寸范围
floatSingleF32位+/-(〜10-45 〜1038 )
doubleDoubleD64位+/-(〜10-328 〜10308 )
decimalDecimalM128位+/-(〜10-28 〜1028 )

十进制类型通常用于财务计算。


数字常量

数字常量可以使用十进制或十六进制符号;十六进制用0x前缀表示。例如:


int x = 1; 
long y = 0x7F; 

实数常量可以使用十进制和/或指数符号。例如:


double d = 1.5; 
double million = 1E06; 

数字常量类型推断

默认情况下,编译器将一个数字常量推断为double或整数类型:

如果常量包含小数点或指数符号(E),则为双精度。

常量类型是此列表中可以适合常量值的第一个类型:int,uint,long和ulong。

例如:


Console.WriteLine ( 1.0.GetType());    // Double (double) 
Console.WriteLine ( 1E06.GetType());   // Double (double) 
Console.WriteLine ( 1.GetType());      // Int32 (int) 
Console.WriteLine ( 0xF0000000.GetType()); // UInt32 (uint) 


数字后缀

数字后缀显式定义常量的类型。

后缀可以是小写或大写,如下所示:

类别C#类型例子
Ffloatfloat f = 1.0F;
Ddoubledouble d = 1D;
Mdecimaldecimal d = 1.0M;
Uuintuint i = 1U;
Llonglong i = 1L;
ULulongulong i = 1UL;

指定浮点或十进制字面值时,应始终应用FM后缀。

没有F后缀,以下行将无法编译,因为4.5将被推断为double类型,它没有隐式转换为float:


float f = 4.5F; 

相同的原则适用于十进制常量:


decimal d = -1231.13M; // Will not compile without the M suffix. 

整数到整数转换

当目标类型可以表示源类型中的每个可能值时,整数转换是隐式的。否则,需要显式转换。

例如:


int x = 12345;        // int is a 32-bit integral 
long y = x;           // Implicit conversion to 64-bit integral 
short z = (short)x;   // Explicit conversion to 16-bit integral 

浮点到浮点转换

float可以隐式转换为double,因为double可以表示float的每个可能的值。

反向转换必须是显式的。

浮点到整数转换

所有整数类型可以隐式转换为所有浮点类型:


int i = 1; 
float f = i; 

反向转换必须是显式的:


int i2 = (int)f; 

当您从浮点数转换为整数时,任何小数部分都将被截断(丢失)。

十进制转换

所有整数类型都可以隐式转换为十进制类型。

对小数类型的所有其他数字转换必须是显式的。

阅读全文
以上是编程学为你收集整理的c#数字类型 C# 数字类型全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  • c#算术运算符代理 C# 算术运算符

    c#算术运算符代理 C# 算术运算符

    2023-02-26 C#教程

    C#算术运算符为所有数字类型定义算术运算符(+, - ,*,/,%)。运算符含义+加-减*剩/除%求余自增和自减运算符自增和自减运算...

  • c#数组初始化 C# 数组

    c#数组初始化 C# 数组

    2023-02-24 C#教程

    C#数组数组表示特定类型的固定数量的变量。 在元素类型后面创建一个带方括号的数组。 例如:char[] letterArray = new char[5]; ...

  • c#变量名命名规则 C# 变量

    c#变量名命名规则 C# 变量

    2023-02-27 C#教程

    C#变量变量表示可修改值的存储位置。 变量可以是局部变量,参数,字段或数组元素。 定义赋值C#强制执行明确的赋值策略。 局部...

  • c#参数计数不匹配 C# 参数

    c#参数计数不匹配 C# 参数

    2023-02-26 C#教程

    C#参数方法可以具有参数序列。参数定义必须为该方法提供的参数集。在以下示例中,myMethod方法具有名为p的单个参数,类型为int...

  • c#事件与委托 C# 事件

    c#事件与委托 C# 事件

    2023-02-25 C#教程

    C#事件事件系统是软件系统的核心部分。例如,按钮可以触发点击事件。批处理作业可以生成作业完成事件。学生系统将使用注册事件...

© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部