
c++中double转int小数部分直接去掉还是四舍五入 如 double a=1.881; int b=a+1; b=多少
4个回答
展开全部
小数部分直接去掉.
1.881 变 1
-1.881 变 -1
用math.h 里的 floor() , ceil() 函数可以取上限,取下限,例如:
floor 2.8 是 2.000000
floor -2.8 是 -3.000000
ceil 2.8 是 3.000000
ceil -2.8 是 -2.000000
四舍五入要自己考虑,例如 用 绝对值加0.5 以后再处理。
1.881 变 1
-1.881 变 -1
用math.h 里的 floor() , ceil() 函数可以取上限,取下限,例如:
floor 2.8 是 2.000000
floor -2.8 是 -3.000000
ceil 2.8 是 3.000000
ceil -2.8 是 -2.000000
四舍五入要自己考虑,例如 用 绝对值加0.5 以后再处理。
展开全部
恩。。这个,尽量不要把int 赋给double,
char int float double,你把后面的赋给前面的,尽量不要,就和一楼和二楼说的一样,电脑就是个蠢蛋(其实是人设计问题),会使精度丢失。
char int float double,你把后面的赋给前面的,尽量不要,就和一楼和二楼说的一样,电脑就是个蠢蛋(其实是人设计问题),会使精度丢失。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-02-07
展开全部
电脑没那么聪明,只会直接丢失精度,b=2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询