mtwm.net
当前位置:首页 >> DouBlE类型输入格式 >>

DouBlE类型输入格式

对于double类型变量,其输出时的格式说明符一般用 %lf 因为double型是双精度浮点型,所以用long float型的格式输出符 %lf 而对于单精度浮点型float, 其输出格式说明符一般用%f 比如:double a = 3.1323; float b = 0.234; printf("%lf\n", a); // 输出结果为3.1323 printf("%f\n", b); // 输出结果为0.234

是的.double型数据一定要用 %lf 输入.

f既输单也输双

这是一个初学者经常犯的一个错误,应该用%lf,因为double和float在内存分配上存在差异,所以用scanf函数进行输入的时候要加以区别.

你可以用printf("%.nf\n",a);控制小数位数,n随你取值,只要在double精度范围内即可

Scanner input = new Scanner(System.in); double num = input.nextDouble(); 这就可以在控制台接收输入的double类型的数了

你可以在打印的时候,转换成string类型,后面再加一个""就可以自动转换成字符串了.类似这样的语句:printf(“double”+“”);

在C语言中,打印double类型需要使用格式化输出函数printf.在使用是,double的通配符为%lf.比如定义double a = 1.234; 可以用 printf("%lf", a); 实现打印.默认打印6位小数,可以通过 printf("%.xlf",a); 来控制小数位数. 其中x为常数,代表打印的小数位数.除此外,还可以用 printf("%e", a); 实现以科学计数法来输出a.如果不想自行选择科学计数法还是正常小数输出,可以由系统自行选择最短情况,只能控制,只需要 printf("%g", a);

c语言用scanf()函数输入双精度数据时,采用的数据格式参数必须是%lf,如:double d; scanf("%lf", &d );scanf("%f,%f",&a,&b);不能输入双精度数据吗?当然不能.主要原因在于double和float类型的大小不同:1. double类型数据在内存

当然可以.a=1/2;a=1.0/2;前者a=0,后者a=0.5在这种情况下输入格式的不同才会影响结果.

网站首页 | 网站地图
All rights reserved Powered by www.mtwm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com