c语言 double类型保留小数问题
发布网友
发布时间:2022-05-12 07:11
我来回答
共2个回答
热心网友
时间:2024-02-19 09:37
double类型保留小数有两种情况:
1 在输出时保留两位小数:
用printf通过格式字符即可控制小数的保留。
如
double a = 1.234;
printf(".2lf",a);
会输出1.23
2 在运行过程中结果保留两位小数。
可以借助转为整型,及乘除运算实现。
如
double a = 1.235;
a = ((int)(a*100+0.5))/100.0;
运算结果,a=1.24.
热心网友
时间:2024-02-19 09:38
1
1.1
1.12
1.123
1.1235
1.12346
1.123457
1.1234568
1.12345679
1.123456789
1.1234567891
1.12345678912
1.123456789123
1.1234567891235
1.12345678912346
1.123456789123457
1.1234567891234568
Press any key to continue
#include <stdio.h>
main()
{
int i;
double a = 1.123456789123456789;
for (i=0;i<17;i++)
printf("%.*lf\n",i,a);
}
double类型在c#中如何处理小数点?
1、首先 double 类型时,在C#中是素双精度浮点类型。一般在显示的时候如果要求保留两位小数点时,最快捷的办法是使用 string.Format("{0:F2}",double) 直接保留两位小数点输出。2、若需要考虑到2位后面的数据进行计算四舍五入。则使用:Math.Round(45.367,2,MidpointRounding.AwayFromZero); //Retur...
c语言float和double保留小数点后几位
c语言float和double保留小数点后6位。C语言中,输出double类型(双精度实型)以及float类型(单精度实型)时,默认输出6位小数(不足六位以0补齐,超过六位按四舍五入截断)。如果想小数点后面16位,写成%.16lf,不会自动四舍五入的,double是一个近似值,通常没有办法做的很精确。通常能精确到小数点...
C语言中double默认输出几位小数?
在C语言里面double默认输出6位小数。double占8个字节(64位)内存空间,最多可提供16位有效数字,小数点后默认保留6位。如全是整数,最多提供15位有效数字。例如:doublea=1;printf("%lf\n",a);输出会是 1.000000
c语言中double怎么表示小数呢?
c语言里面,默认%f是小数点后6位,如果想小数点后面16位,写成%16lf不会自动四舍五入的,double是一个近似值,通常没有办法做的很精确,通常能精确到小数点后面6位,也就是说超过6位可能就不准了。printf("%.2f",a); 保留小数点后两位:要保留1位小数点:printf("%.1f",a)。要保留2位小数...
C语言中double要输出几位小数?
C语言中double要输出几位小数?C语言中double预设输出 6 位小数。如果要控制输出小数位数,可以格式化输出。printf("%.3lf ", d); "%.3lf" .3 则是输出 3 位小数 printf("%.4lf ", d); "%.4lf" .4 则是输出 4 位小数 c语言中想要让输出数字保留几位小数该怎么做?举个例...
c语言除法怎么保留小数
详细来说,C语言中有两种基本的数值类型:整数类型和浮点数类型。整数类型包括int、long等,浮点数类型包括float和double。当你使用整数进行除法运算时,C语言默认执行的是整数除法。例如,5除以3的结果是1,而不是1.6667,因为小数部分被舍去了。但是,如果你想要保留小数部分,你需要告诉C语言执行浮点...
C语言编写程序,对一个double型数据进行四舍五入,要求保留两位有效小数...
例如double型的数据为a=5.1413,程序如下:incloud <stdio.h> main( ){ double a;printf("请输入一个double型数据:”);a= int (a*100+0.5)/100 ;printf("%lf",a)。} 这时候printf输出的结果将是5.14。
C语言编程:输入一个double数值,保留两位小数对第三位四舍五入。我的编...
double x;int y;scanf("%lf",&x);x=x*100;y=int(x+0.5);x=y/100.0;printf("%0.2lf",x);
C语言中double要输出几位小数?
C语言中double默认输出 6 位小数。如果要控制输出小数位数,可以格式化输出。printf("%.3lf ", d); // "%.3lf" .3 则是输出 3 位小数。printf("%.4lf ", d); // "%.4lf" .4 则是输出 4 位小数 。C语言兼顾了高级语言的汇编语言的优点,相较于其它编程语言具有较大优势...
C语言里,double类型的数据可以精确到小数点后几位?
C语言里面,默认%f是小数点后6位,如果想小数点后面16位,写成%.16lf,不会自动四舍五入的,double是一个近似值,通常没有办法做的很精确。通常能精确到小数点后面5,6位,也就是说超过5,6位了可能就不准了。1、double f = 111231.5585; BigDecimal b = new BigDecimal(f); double f1 = ...