注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

xian827991006

专注于DotNet编程,QlikView开发,网站seo,各种软件工具,互联网

 
 
 

日志

 
 
关于我

爱看书、爱探索的人. 目前关注与QlikView开发,推荐一个QlikView资源站。www.qlikviewcn.com

网易考拉推荐

C#基础温习(9):double转int需要注意的地方  

2013-05-08 09:17:38|  分类: C#和VS |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

我们都知道在C#double变量所占用的字节数比int的多,那么我们把double类型转化成int类型的时候就会损失一些东西,那么具体的损失规则是什么样的呢?强制转化和Convert.ToInt32转化是否相同呢?

好了上面两个问题用下面的代码和结果来回答,具体的内容聪明的你一看就明白。

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using System;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
double num1 = 6.321;
int int1 = (int)num1;
int int11 = Convert.ToInt32(num1);
double num2 = 6.635;
int int2 = (int)num2;
int int22 = Convert.ToInt32(num2);
double num11 = -6.321;
int int111 = (int)num11;
int int1111 = Convert.ToInt32(num11);
double num22 = -6.635;
int int222 = (int)num22;
int int2222 = Convert.ToInt32(num22);
Console.WriteLine("int1="+int1);
Console.WriteLine("int11=" + int11);
Console.WriteLine("int111=" + int111);
Console.WriteLine("int1111=" + int1111);
Console.WriteLine("int2=" + int2);
Console.WriteLine("int22=" + int22);
Console.WriteLine("int222=" + int222);
Console.WriteLine("int2222=" + int2222);
Console.ReadKey();
}
}
}

运行结果:

double2int

总结

根据上面的代码和现象我总结出的结论是:强制转化时无论如何小数点都会算是掉,Convert.ToInt32绝对值会进行四舍五入然后加上相应的符号。

除非注明,木杉博客文章均为原创并采用BY-NC-SA协议进行授权原创文章,转载请注明: 转载自木杉博客

本文链接地址: C#基础温习(9):double转int需要注意的地方

  评论这张
 
阅读(938)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017