1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。2、在test.cpp文件中,输入C语言代码:double a = 2.71828;printf("%d", int(a));。3、编译器运行test.cpp文件,此时成功将浮点数2.71828转换为了整数2。
其次,int(a)是c++的整型析构函数((int)a才是强制转换(我说的显示转换)),作用是直接提取a的整数部分,用这个做浮点数取整还准确一些,推荐用int(a)以%d输出即可。
首先,用VC6运行你的程序也是正确。float浮点数的精度是小数点后6位之内都可以保证,所以你的问题不是float精度问题,因为不清楚你的错误结果是什么,无法猜测。下面给你一个使用数组和循环的程序,在节省代码的同时,增加了两个安全处理:双精度和安全运算(这个在你的程序中同样适用,你可以修改试试)i...
比如265.74转换成整数 使用赋值语句
void main(){ double i=0.01/0.00001;double j=0.01/0.000000001;double k=1000.000000;printf("%f\n",i);printf("%d\n",int(i+0.0000001));printf("%f\n",j);printf("%d\n",int(j+0.00000001));printf("%d\n",int(k));} 浮点型转换成整型C语言存在误差,所以在强制转换...
C++的一个细节,用一个浮点数赋值给一个整数变量不会报错,一下代码在C++中居然不会报错,做个笔记记一下:inta=1.3;
C51支持long类型 可以放置9位有效数字 足够了 float超过7位有效数字就不精确了 存放成long不就可以了
双精度1000有可能在系统中被保存为999.99999999 强转后,小数位全部抹除,留了个999,可以试着强转之前加一个0.0001之类的东西 详细可以参考CSDN上转载的文章网页链接
在这个例子中,变量`myFloat`是一个浮点数,值为3.14。当我们尝试将它赋值给整数类型的变量`myInt`时,小数部分(.14)被舍去,只有整数部分(3)被存储在`myInt`中。所以,正确答案是C.浮点数的小数部分会被舍去。 这是一道关于C语言中 数据类型 [1]转换的选择题。特别地,这个问题是关于将一个浮点数赋值给一个...