转自:http://news.newhua.com/news/2011/0810/129531.shtml
在C#(java中也可以)中,如果定义一个数为float型,如float aa=3.3,实际其浮点数值为aa=3.29xxxxx,因此,如果想直接用一个整型保持到aa的小数点后两位,对于aa*100在VC#(我的版本是VS2005)中需要特别注意。
float aa=3.3;
aa=aa*100;
int iResult=(int)aa;
一定不能直接用
int iResult=(int)aa*100;
如果直接用,iResult值会是329,而不是330。
找了半天这个更靠谱一些,想了下,更复杂一点的,需要做复杂的位运算,还要判断浮点是否越界超出整形的表示范围。