本篇文章给大家谈谈c语言double取整,以及c++ double取整对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、c语言的关于 : 对一个double型数据进行四舍五入运算2、C语言如何进行取整3、C语言中如何取整4、c语言的关于 : 对一个double型数据进行四舍五入运算
c语言的关于 : 对一个double型数据进行四舍五入运算
对double数据类型进行四舍五入运算,可以利用double转为整型时强制取整来做到。
1
将double类型数据,强制转换为int类型,会强制截取整数部分。
比如double
a
=
1.23;
(int)a的值就是1。
2
由于是强制取整,所以即使是1.9转为int后,同样是1,这与四舍五入的要求不符。所以可以转换一下算法,做(int)(a+0.5)就可以实现四舍五入到整数的效果了。
3
要实现四舍五入到某一位,可以先乘一个值,将该位移动到个位,取整后,再除上这个值,将其移动回去。
比如将double
a
=
1.2345四舍五入保留2位小数,可以写作
(int)(a*100+0.5)/100.0。
C语言如何进行取整
C语言有以下几种取整方法:1、直接赋值给整数变量。如:int i = 2.5; 或 i = (int) 2.5;这种方法采用的是舍去小数部分,可以用于你的问题。2、C/C++中的整数除法运算符“/”本身就有取整功能(int / int),而下面介绍的取整函数返回值是double。整数除法对正数的取整是舍去小数部分,可以用于你的问题。但是整数除法对负数的取整结果和使用的C编译器有关。3、使用floor函数。floor(x)返回的是小于或等于x的最大整数。如:floor(2.5) = 2floor(-2.5) = -34、使用ceil函数。ceil(x)返回的是大于x的最小整数。如:ceil(2.5) = 3ceil(-2.5) = -2floor()是向负无穷大舍入,floor(-2.5) = -3;ceil()是向正无穷大舍入,ceil(-2.5) = -2。floor函数可以用于你的问题。hyh的意见:int x,a,b,c,d;a=x/1000;b=x%1000/100;
C语言中如何取整
参与运算量均为整型时,
结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。
printf(“%d,%d\n”,10/3,-10/3);
printf(“%f,%f\n”,10.0/3,-10.0/3);
c语言有以下几种取整方法:
1、直接赋值给整数变量。如:
int
i
=
2.5;
或
i
=
(int)
2.5;
这种方法采用的是舍去小数部分,可以用于你的问题。
2、c/c++中的整数除法运算符”/”本身就有取整功能(int
/
int),而下面介绍的取整函数返回值是double。整数除法对正数的取整是舍去小数部分,但是整数除法对负数的取整结果和使用的c编译器有关。
3、使用floor函数。floor(x)返回的是x的整数部分。如:
floor(2.5)
=
2
floor(-2.5)
=
-3
4、使用ceil函数。ceil(x)返回的是不大于x的最小整数。如:
ceil(2.5)
=
2
floor和ceil对于正数没有区别,但是对于负数结果不同。
c语言的关于 : 对一个double型数据进行四舍五入运算
对double数据类型进行四舍五入运算,可以利用double转为整型时强制取整来做到。
1
将double类型数据,强制转换为int类型,会强制截取整数部分。
比如double
a
=
1.23;
(int)a的值就是1。
2
由于是强制取整,所以即使是1.9转为int后,同样是1,这与四舍五入的要求不符。所以可以转换一下算法,做(int)(a+0.5)就可以实现四舍五入到整数的效果了。
3
要实现四舍五入到某一位,可以先乘一个值,将该位移动到个位,取整后,再除上这个值,将其移动回去。
比如将double
a
=
1.2345四舍五入保留2位小数,可以写作
(int)(a*100+0.5)/100.0。
c语言double取整的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c++ double取整、c语言double取整的信息别忘了在本站进行查找喔。