qhnw.net
当前位置:首页 >> C#DouBlE转换为int >>

C#DouBlE转换为int

第一种 强制类型转换double d=1.5;int i=(int)d;这种方式的话采取的是截位,也就是不管小数部分是多少,统统舍弃,哪怕是1.9,转换完也是1第二种 使用Round函数double d=1.6int i = Math.Round(d, 0);(保留0维小数就是取整)第二个参数表示要保留的小数位数使用Round函数是四舍五入,而不是截位使用哪种方式转换根据你的实际需要来

这样就行了 double d = 1.9; int n = (int)d; 追问: 转化的是d对吧,n还照样子写上去? 回答: 代码的意思是把d(double类型) 转换为int 类型并赋给n

可以用Math.Ceiling() 这个函数就是向上取整,不管小数点后面是什么都+1

double c = 10.1;int a = (int)c * 10;方式方法有很多 只要意识到一点,当大类型转换成小类型都有可能出错,只需要类型一致 就可以进行运算了

int a=(int)((Decimal)0.6/(Decimal)0.1);

Convert.ToDouble(int);

用Math下面的函数: double d1 = 1.1d; int i1f = (int)Math.Floor(d1);//1 int i1c = (int)Math.Ceiling(d1);//2 int i1r = (int)Math.Round(d1);//1 double d9 = 1.9d; int i9f = (int)Math.Floor(d9);//1 int i9c = (int)Math.Ceiling(d9);//2 int i9r = (int)Math.Round(d9);//2

加上0.5,再取整 .

int a = (int)d; 或者 int a = Convert.ToInt32(d);

Math.Round(你的数,小数点位数)double就是不精确的类型,你可以用上面的方法使用四舍五入得到你需要的值至少我试过C++,JAVA,C#都有这种误差double型就是不精确的!要避免就用四舍五入,结果和你要的是一样的

网站首页 | 网站地图
All rights reserved Powered by www.qhnw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com