黑马程序员技术交流社区

标题: 隐式转换、强制转换转换表 [打印本页]

作者: 杨靖    时间: 2013-10-21 16:11
标题: 隐式转换、强制转换转换表
本帖最后由 杨靖 于 2013-10-21 16:13 编辑

显式数值转换表(C# 参考)

目标

sbyte

byte 、ushort、uint、ulong 或 char

byte

Sbyte 或 char

short

sbyte 、byte、ushort、uint、ulong 或 char

ushort

sbyte 、byte、short 或 char

int

sbyte 、byte、short、ushort、uint、ulong 或 char

uint

sbyte 、byte、short、ushort、int 或 char

long

sbyte 、byte、short、ushort、int、uint、ulong 或 char

ulong

sbyte 、byte、short、ushort、int、uint、long 或 char

char

sbyte 、byte 或 short

float

sbyte 、byte、short、ushort、int、uint、long、ulong、char 或 decimal

double

sbyte 、byte、short、ushort、int、uint、long、ulong、char、float 或 decimal

decimal

sbyte 、byte、short、ushort、int、uint、long、ulong、char、float 或 double


备注显式数值转换可能导致精度损失或引发异常。
将 decimal 值转换为整型时,该值将舍入为与零最接近的整数值。 如果结果整数值超出目标类型的范围,则会引发 OverflowException
将 double 或 float 值转换为整型时,值会被截断。 如果该结果整数值超出了目标值的范围,其结果将取决于溢出检查上下文。 在 checked 上下文中,将引发OverflowException;而在 unchecked 上下文中,结果将是一个未指定的目标类型的值。
将 double 转换为 float 时,double 值将舍入为最接近的 float 值。 如果 double 值因过小或过大而使目标类型无法容纳它,则结果将为零或无穷大。
将 float 或 double 转换为 decimal 时,源值将转换为 decimal 表示形式,并舍入为第 28 个小数位之后最接近的数(如果需要)。 根据源值的不同,可能产生以下结果:如果源值因过小而无法表示为 decimal,那么结果将为零。
如果源值为 NaN(非数字值)、无穷大或因过大而无法表示为 decimal,则会引发 OverflowException。
将 decimal 转换为 float 或 double 时,decimal 值将舍入为最接近的 double 或 float 值。
隐式数值转换表(C# 参考)






作者: 许庭洲    时间: 2013-10-21 18:56
值得学习ing!
作者: 追溯客    时间: 2013-10-25 11:09

同学给你加分了!好好学习!蔡蔡和叶叶在黑马等着你!黑马有你更精彩!快点为了当土豪努力吧!





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2