www.rtmj.net > C语言保留n位小数

C语言保留n位小数

可以这样:int a,b; float c; c=(int)(a*10.0/b+0.5)/10.0; 这样就可以让结果c只保留一位小数.只是将a/b保留一位小数的结果赋给c,并不改变a/b本身的值,因此a/b仍然是0.333

默认6位,不过可以通过程序控制为想要的位数;如: printf("%12.15lf\n",x);表示输出占12格的小数位数为15为的x的值; printf("%.8lf\n",x);表示输出小数位数为8为的x的值.

用定点格式.float 型 %.2f 就是小数2位, %.1f 就是小数1位 double 型 用 %.2f 就是小数2位, %.1f 就是小数1位 double 型 用 %.2lf 就是小数2位, %.1lf 就是小数1位

请务必采纳 有很多方法 我只写一种 不一定是最好的 但你一定能看的懂#include <stdio.h> void main() { int n; float number; int i = 0; printf("请输入保留的位数:"); scanf("%d",&n); printf("请输入目标数:"); scanf("%f",&number);

一.%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时就右端补空格!

在c语言中一个数保留2位小数可以通过精度限定符来完成,精度限定符有一个点号后跟一个整数组成.示例:#include <stdio.h> int main() { dobule a = 1.23456; printf("%.2f\n", a); return 0; }/* 输出:1.23*/ 注意:这里保留小数是四舍五入的,即如果保留的小数位数的后一位大于等于5,则进1,否则舍去,如示例中的a的值改为1.23556,则会输出1.24.

可能下面方法有点笨.假如你要对一个数a保留到小数点后面n位 你可以这样 temp=pow(0.1,n); b=a+temp*0.5; c=b-fmod(b,temp); 上函数都在math.h中

可以利用C语言的强制转换规则.C语言规定,当浮点数强制转换为整型类型时,只保留整数部分.所以对于浮点数,比如float类型a, 执行(int)a后的值就是整数部分.这样当执行a-(int)a时,得到的就是小数部分的值了.如果该功能经常使用,那么可以定义一个带参数的宏#define DECIMAL(X) (x-(int)x) 这样执行DECIMAL(a)得到的值就是t的小数部分.

你好!用c++怎么输出小数点后n位的方法:包含头文件#include 用setprecision(n)设置精度,其中n表示精确到小数点后n位 例子:double t = 3.33333333; cout输出就是8位精度小数 仅代表个人观点,不喜勿喷,谢谢.

#include<stdio.h>#include<stdlib.h> void main(){ int i=0; int m=10; int n=3; int s=0; s=m/n; printf("%d",s); printf("."); for(i=0;i<100;i++) { s=m/n; m=m%n*10; printf("%d",s); } printf("\n"); }

网站地图

All rights reserved Powered by www.rtmj.net

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