输出精度问题
来源:互联网 发布:2016最好的网络武侠剧 编辑:程序博客网 时间:2024/05/29 11:42
#include <stdio.h> int main() { int a=1234; float b=123.456;double c=12345.54321;printf("\n%2d,%2.1f,%2.11f",a,b,c);}/* %d 有符号10进制整数 %i 有符号10进制整数 %o 有符号8进制整数 %u 无符号10进制整数 %x 无符号的16进制数字,并以小写abcdef表示 %X 无符号的16进制数字,并以大写ABCDEF表示 %F/%f 浮点数 %E/%e 用科学表示格式的浮点数 %g 使用%f和%e表示中的总的位数表示最短的来表示浮点数 G 同g格式,但表示为指数 %c 单个字符 %s 字符串 %% 显示百分号本身*/ /* %md: m为指定输出数据的宽度 如果位数小于m,则左端补以空格,如果大于m,则按实际位数输出显然a=1234的位数是4 大于%2d中指定的长度2 按实践位数输出 所以结果为1234%m.nf格式:指定输出数据宽度为m位,其中小数占n位,如果数值长度小于m,则左端补空格,%-m.nf与上差不多,只是如果数值长度小于m,则右端补空格,大于的话就按原长度输出%2.1f就是指长度2位,含一位小数位,由于原长度大于2,所以原样输出,但只能右一位小数,所以结果是123.4%2.11f,就是含11位小数,显然长度不够,则右端补零 结果位12345.54321000000%e:不指定输出数据所占的宽度和数字部分的小数位数,有的C编译系统自动指定给出数字部分的小数位数为6位,指数部分占5位(如e+002),其中"e"占1位,指数符号占1位,指数占3位,总的指数部分占5位。数值按规范化指数形式输出。例如:printf("%e",123.456);输出如下:1.234560e+002(共13列,有的系统的规定有所不同);%m.ne 输出的数据共占m列,其中有n位小数。如果数值长度小于m,则左端补空格。s格式符,用来输出字符串。%m.ns 输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。*/
阅读全文
0 0
- 输出精度问题
- 小数点输出精度控制问题
- 小数点输出精度控制问题
- C++ 中输出精度问题
- nginx log打印输出精度问题
- 1004. 超高精度浮点数的输出问题
- c++进制转化及输出精度问题总结
- 【精度问题】
- 精度问题
- 精度问题
- 精度问题
- 精度问题
- 精度问题
- C++输出精度控制
- cout输出精度控制
- cout设置输出精度
- java输出精度控制
- 控制输出精度
- github使用基础
- JavaScript之变量
- tf.cast (API r1.3)
- java中常用的集合总结
- java集合Collection中的常用方法
- 输出精度问题
- 23种设计模式之-----工厂方法模式(Method Factory pattern)
- 十九:集合操作
- (算法分析Week11)Generate Parentheses[Medium]
- 符号三角形问题(回溯)-算法设计与分析
- 数据库完整性约束
- MySql innodb的锁
- /usr/bin/ld: 找不到 -lippicv
- Linux私房菜学习-第6章Linux文件权限与目录