黑马程序员技术交流社区

标题: 关于四舍五入 [打印本页]

作者: neobug    时间: 2015-6-29 23:43
标题: 关于四舍五入
我目前自学c语言基础中,想问问四舍五入一直存在么?比如  int(13.2+2.3)这里面是15.5  加个int要四舍五入么?
作者: zhanghao2744491    时间: 2015-6-30 01:21
入不了。9也入不了的。
作者: neobug    时间: 2015-6-30 11:19
zhanghao2744491 发表于 2015-6-30 01:21
入不了。9也入不了的。

什么时候会有四舍五入的情况呢?
作者: solon    时间: 2015-6-30 14:15
int类型小数点后面的全部舍去
作者: neobug    时间: 2015-6-30 14:51
solon 发表于 2015-6-30 14:15
int类型小数点后面的全部舍去

哦~~了解了    其他有什么类型 啊什么的  有四舍五入的情况吗
作者: solon    时间: 2015-6-30 15:34
neobug 发表于 2015-6-30 14:51
哦~~了解了    其他有什么类型 啊什么的  有四舍五入的情况吗

据我所知计算机没有四舍五入,除非你自己写函数实现。
作者: neobug    时间: 2015-6-30 15:52
solon 发表于 2015-6-30 15:34
据我所知计算机没有四舍五入,除非你自己写函数实现。

非常感谢!
作者: neobug    时间: 2015-6-30 15:54
solon 发表于 2015-6-30 15:34
据我所知计算机没有四舍五入,除非你自己写函数实现。

非常感谢!
作者: solon    时间: 2015-6-30 16:41
neobug 发表于 2015-6-30 15:54
非常感谢!

互相学习嘛
作者: αメ炫    时间: 2015-6-30 17:17
不对,至少printf   %m.nf的时候会四舍五入
作者: neobug    时间: 2015-7-1 22:30
αメ炫 发表于 2015-6-30 17:17
不对,至少printf   %m.nf的时候会四舍五入

比如   8/3   去小数点后两位  这样就要四舍五入吧?  还有什么情况有么?
作者: αメ炫    时间: 2015-7-1 23:41
neobug 发表于 2015-7-1 22:30
比如   8/3   去小数点后两位  这样就要四舍五入吧?  还有什么情况有么?

c默认是不会处理四舍五入的,8/3,int/int结果还是int,直接截断取整数部分,不管小数,printf 输出保留两位小数时会四舍五入那是printf函数做了特殊处理,其他还有啥函数特殊处理了我也不知道
作者: 小小羊    时间: 2015-7-2 00:04
int型取整数部分,小数部分忽略不计,转换成float或者double型
作者: pp584995727    时间: 2015-7-2 07:33
语法错误
作者: neobug    时间: 2015-7-2 09:11
αメ炫 发表于 2015-7-1 23:41
c默认是不会处理四舍五入的,8/3,int/int结果还是int,直接截断取整数部分,不管小数,printf 输出保留 ...

设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是(  B )
A.b=1.0/a           B.b=(float)(1/a)
  C.b=1/(float)a      D.b=1/(a*1.0)
   b 答案 是不是 0.0?  1/a = 0?
作者: neobug    时间: 2015-7-2 09:13
小小羊 发表于 2015-7-2 00:04
int型取整数部分,小数部分忽略不计,转换成float或者double型

哦 谢谢
作者: neobug    时间: 2015-7-2 09:14
pp584995727 发表于 2015-7-2 07:33
语法错误

哪里啊?
作者: 弥修斯    时间: 2015-7-2 12:53
不存在 “入”;
作者: 深蓝的蓝    时间: 2015-7-2 18:10
额  也不太清楚啊
作者: αメ炫    时间: 2015-7-2 23:29
neobug 发表于 2015-7-2 09:11
设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是(  B )
A.b=1.0/a           B.b=(flo ...

1/2 本来是0.5,但是整个表达式是int类型,所以只保留了整数部分0,也就是1/2=0,后来(float)0,把0转成浮点数,那么就变成0.000000,浮点数是7位有效数字,小数点后默认6位




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2