c语言怎样舍弃小数点后面指定位数以后的数

我想舍去小数点后面指定位数。比如1.784,我想舍去小数点1位右面的。变成1.7注意,不是四舍五入.找了半天没找到适合的命令,请大神指点,有没有现成命令?如果没有能给贴个... 我想舍去小数点后面指定位数。比如1.784,我想舍去小数点1位右面的。变成1.7
注意,不是四舍五入.
找了半天没找到适合的命令,请大神指点,有没有现成命令?
如果没有能给贴个最简洁的函数方法。学习一下,谢了
展开
 我来答
百度网友b325208
2015-10-05 · TA获得超过1349个赞
知道小有建树答主
回答量:461
采纳率:42%
帮助的人:186万
展开全部
Note1:
正数 x 四舍五入的技巧:
x --> (int)(x+0.5)
当 x=n+r, 0<=r<1,
若 0<=r<0.5, 则r+0.5<1, (int)(x+0.5)=(int)(n+r+0.5)=n
若 0.5<=r<1, 则1<= r+0.5, (int)(x+0.5)=(int)(n+r+0.5)=n+1

Note2:
举例来说: 若正数要依舍去法精确到小数点後第二位
x --> (int)(x*100)/100 就好.
例如 3.2794 --> (int)(327.94)/100=327/100=3.27

Note3:
举例来说: 若正数要四舍五入精确到小数点後第二位
x*100 四舍五入再除以100 就好
也就是 (int)(x*100+0.5)/100
百度网友4ef2217
2015-04-09 · 超过21用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:35.5万
展开全部
#include <stdio.h>

int main()
{
double m = 1.784;

printf( "%.1lf\n",m);

}
加一个.就可以了。
追问
可不可以将printf函数输出的数赋给一个变量,比如   a=printf(……);
追答
不可以的。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式