int、float、double In .Net之相互转换

王朝学院·作者佚名  2016-05-17
窄屏简体版  字體: 小  |  中  |  大  |  超大  

int、float、double In .Net之相互转换最近在检查我们公司某台Server时,发现Windows日志中记录了很多SystemToNumber的Crash Exception,问题原因为公司的同事Coding时都犯了一个最基本的原则性错误,鉴于此,觉得还是有必要再梳理下.Net中三个基本的数值类型(int、float、double),。

Int:在.NET中,int是有符号的32位整型数值,无论处理器是32位还是64位,它的.NET框架类型是System.Int32。

Float:单精度浮点数,32位长度,1位实数符号位(原码表示),1位指数符号位,7位指数位(此八位为移码表示)以及23位数据位(补码表示),在.net中又称为Single。

Double:64位长度的双精度浮点数,1位符号位,11位指数位,52位数据位。

三者的转换关系:

1. int可以隐式转换成float和double;

2.float只能强制转换成int,但是可以隐式转换成double;

3.double只能强制转换成float和int。

PS:

注意区分:(1)Convert.ToInt32("56.89") 和 (2)Convert.ToInt(56.89)

(1)的这种写法会导致抛出FormatException,所以要用(2)这种写法。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航