C/C++中printf格式化输出-科学计数法形式的浮点数

C语言printf格式化输出修饰符

printf()的格式符

转换说明 输出
%a,%A 浮点数、十六进制数和p-计数法(C99)
%c 一个字符
%d 有符号十进制数
%e,%E 浮点数,e计数法
%f 浮点数,十进制计数法
%g,%G 根据数值不同自动选择%f或%e,%e格式在指数小于-4或者大于等于精度时使用
%i 有符号十进制整数(与%d相同)
%o 无符号八进制整数
%p 指针
%s 字符串
%u 无符号十进制数
%x,%X 使用十六进制数0f的无符号十六进制整数
%% 打印一个百分号

printf()的标志

符号 说明 示例
- 项目左对齐,即,会把项目打印在字段的左侧开始处 示例: “%-20s”
+ 有符号的值若为正,则显示带加号的符号;若为负,则显示带减号的符号 示例: “%+6.2f”
(空格) 有符号的值若为正,则显示时带前导空格(但是不显示符号);若为负,则带减号符号,+标志会覆盖空格标志 示例: “% 6.2f”
# 使用转换说明的可选形式。若为%o格式,则以0开始;若为%x和%X格式 ,则以0x或0X开始。对于所有的浮点形式,#保证了即使不跟任何数字,也打印一个小数点字符。对于%g和%G格式,它防止尾随0被删除 示例: “%#o”, “%#8.0f”, “%+#10.3E”
0 对于所有的数字格式,用前导零而不是空格填充字段宽度。如果出现-标志或者指定了精度(对于整数)则忽略该标志 示例: “%010d”, “%08.3f”,"%02X"

一个示例

输出浮点数的科学计数法形式,其中e前面的小数保留5位数字。需要注意的是,科学计数法表示的浮点数指数部分有三位的也有两位,看编译器和不同的标准。

#include  
int main()
{ 
	printf("%.5e\n", 3.12346823e10);
	return 0; 
}

你可能感兴趣的:(C)