C#里的数值转换
2010-02-24 18:57 听雨到天明 阅读(195) 评论(0) 收藏 举报下午一同事告诉我,我的图表控件显示不正常,调了一会,才发现一个从来都没注意过的问题。
从浮点数转换成int类型,有好几种转换方式。
//第一种方式
float fTest1 = 0.8F;
int nTest1 = (int)fTest1;
这种方式的转换和C、C++是一模一样的,不管是0.几都会被转换成了0;
//使用Convert进行转换
float fTest = 0.8F;
int nTest = Convert.ToInt32(fTest);
这种方式有些特殊,我的构件出错的地方也在这里。通过Convert进行转换,小数部分大于0.5的,都会进位。小于等于0.5的,就去掉了。
另外还有几种方式转换,试了下,发现都和(int)float的转换方式一样,看来convert做了一些额外的工作啊,定势思维使得以为它也是那种普通的转换呢
浙公网安备 33010602011771号