总之,%g 要以最短的方式来输出小数,并且小数部分表现很自然,不会强加零,比 %f 和 %e 更有弹性,这在大部分情况下是符合用户习惯的。 除了%g,还有 %lg、%G、%lG: %g 和 %lg 分别用来输出 float 类型和 double 类型,并且当以指数形式输出时,e小写。 %G 和 %lG 也分别用来输出 float 类型和 double 类型...
小数也可以使用 printf 函数输出,包括十进制形式和指数形式,它们对应的格式控制符分别是: %f以十进制形式输出float 类型; %lf以十进制形式输出 double 类型; %e以指数形式输出float 类型,输出结果中的 e 小写; %E 以指数形式输出 float 类型,输出结果中的 E 大写; %le以指数形式输出 double 类型,输出结果中的 ...
3) 以指数形式输出小数时,输出结果为科学计数法;也就是说,尾数部分的取值为:0 ≤ 尾数 < 10。 4) b 的输出结果让人费解,才三位小数,为什么不能精确输出,而是输出一个近似值呢?这和小数在内存中的存储形式有关,很多简单的小数压根不能精确存储,所以www.fifabo.com也就不能精确输出,我们将在下节中详细讲解。
include <stdio.h> int main(void){ char name[20];printf("请输入你的姓名:");scanf("%s",name);printf("你的姓名是:%s\n",name);return 0;}
cout << fixed; // 表示按照小数形式输出小数 默认是按照科学计数法输出小数 cout.precision(2); // 表示输出的小数保留几位 cout << e << " " << c << endl; 1. 2. 3. 4. 如果要按格式输出 比如左对齐 右对齐 double e = 2.718, c = 3.141; ...
// int%o: 以八进制输出(不输出前缀0)%x :以十六进制输出(字母小写,不输出前缀0x)%X :以十六进制输出(字母大写,不输出前缀0X)使用修饰符'#'控制前导显示:1、对c,s,d,u类无影响2、%#o,输出八进制会加上前缀03、%#x(%#X),输出十六进制会加上前缀0x(0X)。%f :小数(包含 float 类型和 double 类型...
%e %E科学计数法打印 只服务于浮点数,打印整形会出现未知的错误(数据错误) %g过滤%f多余的0 %f默认保留小数点后6位,多余的0看着碍眼就可以直接使用%g打印,不用麻烦的控制宽度。 通过C++ Reference,可以看到%g的介绍是根据数字选择%f或者%e控制最短输出,并不输出多余的0,可以看到上边的例子选择的是%f的形式(且没...
用C++则没有这样的麻烦。#include<iostream>intmain(){std::cout<<3/2<<'\n';return0;} 输出:...
其中float和double内部储存形式遵循IEEE 754标准,long double取决于编译平台。C语言中的浮点型数内部储存形式为指数计数法分段存储的二进制形式的小数,即使在规定大小和字长精度范围之内也不能严格无误差地表示所有十进制小数、有理数,更不用说实数。(而C语言源代码中除了16进制整数表示的实际存储形式以外...
• %Le :科学计数法表示的 long double 类型浮点数。 • %Lf :long double 类型浮点数。 • %n :已输出的字符串数量。该占位符本身不输出,只将值存储在指定变量之中。 • %o :⼋进制整数。 • %p :指针。 • %s :字符串。 • %u :无符号整数(unsigned int)。