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 变量时会转换为小数。