www.rtmj.net > C语言控制输出小数位数

C语言控制输出小数位数

控制小数位数就是通过输出格式说明符来规定的.举例说明如下:123456 floatf1=3.1415926; floatf2=1234.1415926; floatf3=124.1; printf("%3.4f", f1); // 输出结果内为:_ _ 3.1416 ( _ 表示空格容) printf("%3.4f", f2); // 输出结果为:1234

举例说明如下:#include <iostream>#include <iomanip> using namespace std; int main( void ) { const double value = 12.3456789; cout << value << endl; // 默认以6精度,所以输出为 12.3457 cout << setprecision(4) << value << endl; // 改成4精

只有浮点型数据,包括float和double有有效位数的说法.可以用格式化输出函数printf输出数字,同时通过格式化字符串来控制数字有效位数.printf在输出浮点数时,默认为6位小数,比如定义float f = 1; 调用printf("%f",a);时会输出1.000000.格式化字符串可以设置成%a.bf的形式,其中:1 a为输出的数字占据的总宽度(位数),包括整数部分,小数部分和小数点.当实际宽度大于设定宽度时,以实际宽度为准.2 b为小数位数,也就是输出数字的有效位数.比如调用printf("5.2f",a);就可以输出 1.00 从而达到控制有效位数的效果.

先把要控制的数字先乘,再取整,再除.比如:把123.4567保留两位1:先把123.4567剩100等于12345.672:在数字前面加个(int)(12345.67)取整3:取整后数字变成12345 4:最后再把这个数除以100等于123.45

一.%nf 即输出的数字占n位 当原数字位数大于n时原样输出,原数字位数小于n时输出数字左端补上空格,比如原数字为a=1.23456;n为4时输出为1.23456,n为9时输出为 (空格空格1.23456) 二.%n.mf 即输出总共占n位其中有m位小数 如a=1.23456 用%4.2f输出为1.23如果用%5,1f输出为123.4即长度为5小数为1!这里也有当原数字长度小于n时左端补空格这个规则!还有就是当n前面有个负号时即%-nf或%-n.mf时就右端补空格!

这个很简单.printf("%.2f\n",x);当然x是float型的.输出就是两位小数.就是在f前+小数点+保留小数的位数.

#include <stdio.h>int main(){ float a=3.14159889; printf ("%.7f",a);//保留7位小数就用%.7f return 0;}

int postfix = 0; char format[10] = {0}; float a = 3.14159265; scanf("%d", &postfix); //读入需要保留的小数位数 sprintf(format, "%%.%df", postfix); //比如输入3,那么format里就是"%.3f",也就是保留三位小数 printf(format, a);

首先要加#include,定义非整形变量double或float,在最后用print("%.几位小数f",你要输出的变量);

printf("%.nd");n=1,2,3,其中n就是你需要设置的输出的小数点后的位数

友情链接:qwrx.net | artgba.com | jtlm.net | pdqn.net | jtlm.net | 网站地图

All rights reserved Powered by www.rtmj.net

copyright ©right 2010-2021。
www.rtmj.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com