c语言中怎么保留一位有效数字5
发布网友
发布时间:2023-10-20 08:18
我来回答
共5个回答
热心网友
时间:2024-11-29 01:50
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;
}
热心网友
时间:2024-11-29 01:50
先#include<math.h>
用ceil函数即可。它是一律向上取整,如ceil( 1.2) = 2
对不同位数,可这样:
如把a=0.21变0.3: b = ceil (10a)/10
与ceil相对应的还有floor函数,用法相同,向下取整。
希望能帮到你。
热心网友
时间:2024-11-29 01:51
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
这该怎么实现?多谢
追答这个样子的话好像不是简单的显示格式就能实现的啊!反正我没学过有这种保留格式!
要是我遇到这样的问题我只能用复杂的语句来实现了
热心网友
时间:2024-11-29 01:52
有效数字,并且采取只进不舍的方式输出该变量
热心网友
时间:2024-11-29 01:52
我们在学习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位