c语言中怎么保留一位有效数字

注意是有效数字,不是小数比如一个变量a怎么让a只有一位有效数字,并且采取只进不舍的方式输出该变量不是四舍五入的方式。... 注意是有效数字,不是小数
比如一个变量a 怎么让a只有一位有效数字,并且采取只进不舍的方式输出该变量
不是四舍五入的方式。
展开
 我来答
tattackor
2015-10-22 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:895万
展开全部

1、在C语言中一个数保留1位小数可以通过精度限定符来完成,精度限定符由一个点号后跟一个整数组成。如果要限定小数点后面一位的类型为0或者5,可以使用先乘取整再除的方法进行操作。
2、例程:

#include <stdio.h>
int main(){
    dobule a = 1.23456;
    printf("%.1f", ((int)a*2)/2.0);//使用精度限定符%.1f,输出:1.0
    return 0;
}
百度网友ce6092a
2012-04-05 · 超过11用户采纳过TA的回答
知道答主
回答量:17
采纳率:0%
帮助的人:18万
展开全部
先#include<math.h>
用ceil函数即可。它是一律向上取整,如ceil( 1.2) = 2
对不同位数,可这样:
如把a=0.21变0.3: b = ceil (10a)/10

与ceil相对应的还有floor函数,用法相同,向下取整。
希望能帮到你。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
844674939
2012-04-04
知道答主
回答量:20
采纳率:0%
帮助的人:3.3万
展开全部
lz的问题说的不明不白的,要人怎么回答啊!
你是不是想将一个对位数分成一个一个单数,比如1234分成1,2,3,4
int a=1234;
int a1,a2,a3,a4;
a1=a/1000;
a2=a%1000/100;
a3=a%1000%100/10;
a4=a%1000%100%10;
如果不是,说清楚点。
追问
对,不是你理解的那样
我的意思3.14保留一位有效数字即为3
0.14保留一位有效数字即为0.1
但是这是四舍五入的保留方式,我要的方式是只进不舍。
ps:3.14为4,0.14为0.2
这该怎么实现?多谢
追答
这个样子的话好像不是简单的显示格式就能实现的啊!反正我没学过有这种保留格式!
要是我遇到这样的问题我只能用复杂的语句来实现了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gfgersdfgdf
2012-04-06
知道答主
回答量:13
采纳率:0%
帮助的人:2.1万
展开全部
有效数字,并且采取只进不舍的方式输出该变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
水清霞明

2020-12-30 · TA获得超过2.5万个赞
知道大有可为答主
回答量:3.7万
采纳率:68%
帮助的人:1302万
展开全部
我们在学习C语言课本的时候会发现书上说:
float的有效数字为6位
double的有效数字为15位
那么我们应该怎样去看到它真正的有效数字是不是所说的那样呢?
我用代码简单实现了一下,代码如下:

#include <stdio.h>

void main()
{
float a;
double b; //变量声明

a = 1.0/3;
b = 1.0/3;

printf("a==%f\n",a); //输出a
printf("b==%f\n",b);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
发现结果为:
这里写图片描述

可以发现值是一样的,那么我们应该怎样去看它的有效数字是不是书上所说的那样呢?

我们用格式控制它输出的有效数字位数,你就能看到它真正的有效数字是多少了,超过有效数字的值不确定,代码如下:

#include <stdio.h>

void main()
{
float a;
double b; //变量声明

a = 2.0/3;
b = 2.0/3;

printf("a==%.20f\n",a); //输出a,并要求强制保留20位有效数字
printf("b==%.20f\n",b);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
那么结果为:
这里写图片描述

我们可以在结果上看出:
float的有效值为6位
double的有效值为15位
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式