c语言double保留2位小数

Python012

c语言double保留2位小数,第1张

double类型保留小数有两种情况:

1、在输出时保留两位小数:

用printf通过格式字符即可控制小数的保留。

2、在运行过程中结果保留两位小数。

可以借助转为整型,及乘除运算实现。扩展资料

1、浮点型与整型

将浮点数(单双精度)转换为整数时,将舍弃浮点数的`小数部分, 只保留整数部分。将整型值赋给浮点型变量,数值不变,只将形式改为浮点形式, 即小数点后带若干个0。注意:赋值时的类型转换实际上是强制的。

2、单、双精度浮点型

由于C语言中的浮点值总是用双精度表示的,所以float 型数据只是在尾部加0延长为double型数据参加运算,然后直接赋值。double型数据转换为float型时,通过截尾数来实现,截断前要进行四舍五入操作。

C语言中double要输出几位小数?

C语言中double预设输出 6 位小数。

如果要控制输出小数位数,可以格式化输出。

printf("%.3lf ", d) "%.3lf" .3 则是输出 3 位小数

printf("%.4lf ", d) "%.4lf" .4 则是输出 4 位小数

c语言中想要让输出数字保留几位小数该怎么做?

举个例子,如果想要输出保留三位小数的双精度浮点数,则应该这样写:

printf("%.3lf",d)

其中的“.3”就是小数点后保留三位小数。

注意,3前面有个点哈!

C语言中float ,double, long double分别最多可支援几位小数点

float 单精度浮点,8个点。

double双精度浮点, 16个点。

long double长双精度浮点,32个点。

c语言中%g格式最多输出几位

%g用来输出实数,它根据数值的大小,自动选f格式(一般小数格式)或e格式(科学计数法)。选择标准为选择输出时占宽度较小的一种。且%g不输出无意义的0。

即%g是根据结果自动选择科学记数法还是一般的小数记数法。

比如如下程式码:

printf("%g\n", 0.00001234)

printf("%g\n", 0.0001234)

printf("%.2g\n", 123.45)

printf("%.2g\n", 23.45)

分别会输出:

1.234e-05

0.0001234

1.2e+02

23

对于指数小于-4或者大于给定精度的数值,按照%e的控制输出,否则按照%f的控制输出.

C语言中怎样控制输出小数按四舍五入输出7位小数

#include <stdio.h>int main(){float a=3.14159889 printf ("%.7f",a)保留7位小数就用%.7freturn 0}

double p = 3.14159265

long x = 0

p = p*10000000 + 0.5

x = (long)p

p = x/1000000

printf("%.7lf",p)

这样,你把这个小数,乘以10的7次方,然后对结果取整(也就是强制转化为整型),然后对这个取整后的整型 加上 0.5 ,再除以10的7次方,就搞定了.

如果你想四舍五入,比方说,想要3.14159,四舍五入取小数点后3位,

你可以将3.14159*1000,得到3141.59,然后再加上0.5,得到3142.09,然后再取整(强制转化为INT型),得到3142,然后再除以1000,就得到你想要的小数点后3位的四舍五入了,就是3.142.

如果不想要四舍五入,直接撷取,就不要加上0.5

C语言中想输出double和long double型用%什么?

1、%f 是输出 float 型变数;%f 是输出 double 型变数;%Lf 是输出 long double 型变数。

2、在C语言中,对于数值型别只有通过printf类函式输出这一种方式,比如printf, sprintf, fprintf等。这类函式输出时要求有格式符号,其中long double的格式符号为%Lf以下是一个简单的参考程式码,输出到标准输出装置。

#include <stdio.h>int main(){long double v = 1.23printf("%Lf\n", v)采用%llf格式输出long double 型别return 0}

关于long double, 需要说明的是,在原始的C标准中是没有这个型别的,C99中才添加了该型别。而在C99及后续的规范中,对于该型别规定的也并不详细,只是要求long double型别在精度上需要不少于double的精度。于是就出现了有的编译器不支援long double, 而支援的编译器在实现上也有所区别,目前常见的long double有占用8位元组,10位元组,12位元组和16位元组四种,但输出格式都是相同的%lf。 如果想知道使用的编译器是如何实现的,可以用printf("%d", sizeof(long double))输出long double占用的空间值。

c语言中怎么输出 long double型别

输出int , 用%d

输出float, 用%f

输出double,用 %lf

输出long int ,用%ld

long double在C语言中怎么读入和输出?

void main()

{

long double lf

scanf("%lf", &lf)

printf("%lf\n", lf)

}

c语言中float小数点后能有几位?

float 型别总共只能表示7位有效数字,

如果需要非常准确的数字,请考虑使用 Decimal 资料型别

程序设计就是让计算机按照一定的指令来进行工作,可以说数据的处理是程序设计的主要任务。那么,C语言中的小数(float,double)怎么输出?欢迎大家阅读!更多相关信息请关注相关栏目!

小数也称实数或浮点数。例如,0.0、75.0、4.023、0.27、-937.198 都是合法的小数。这是常见的小数的表现形式,称为十进制形式。

除了十进制形式,也可以采用指数形式,例如 7.25×102、0.0368×105、100.22×10-2等。任何小数都可以用指数形式来表示。

C语言中的小数也有这两种表示形式。在书写时,十进制形式和数学中的一样,指数形式有所差异。

在C语言中小数的指数形式为:

aEn 或 aen

a 为尾数部分,是一个十进制数,n 为指数部分,是一个十进制整数,E或e是固定的字符,其值为 a×10n。例如:

2.1E5 = 2.1×105,其中2.1是尾数,5是指数。

3.7E-2 = 3.7×10-2,其中3.7是尾数,-2 是指数。

0.5E7 =0.5×107,其中0.5是尾数,7是指数。

C语言中小数的.数据类型为 float 或 double:float 称为单精度浮点数,double 称为双精度浮点数。不像整数,小数的长度始终是固定的,float 占用4个字节,double 占用8个字节。

小数的输出

输出 float 使用 %f 控制符,输出 double 使用 %lf 控制符,如下所示:

#include#includeint main(){float a = 0.302ffloat b = 1.23002398double c = 123double d = 78.429float e = 128.101printf("a=%f b=%f c=%f d=%lf e=%lf ", a, b, c, d, e)return 0}

运行结果:

a=0.302000

b=1.230024

c=123.000000

d=78.429000

e=128.100998

对代码的说明:

1) %f 默认保留六位小数,不足六位以 0 补齐,超过六位按四舍五入截断。

2) 将整数赋值给 float 变量时会转换为小数。