↑ 收起筛选 ↑
C语言FloAt保留2位小数
2020-09-23

float(也就是单精度浮点),默认有效位数7位.图中的2.000000,有效数字就是7位 单精度,float,32位,有效位数为7位 双精度,double,64位,有效位数15位

在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.

#include <stdio.h> main() { double a; printf("请输入一个四位小数:\n"); scanf("%lf",&a);//双精度应该是的%lf a*=100;// 扩大100倍,举个例子:a=123.4567,a=a*100,则a=12345.67 a+=0.5;//加0.5进行四舍五入a=12346.17 a=(int)a;//这个地方是想保留两位小数,后边的舍去,所以进行强制类型转换.a/=100;//上面扩大100倍,现在要对其缩小100 printf("结果是:%f\n",a);//这样就行了,或者printf("结果是:%.2f\n",a); }

都乘100再取整,最后再除100输出

#include<stdio.h> void main() { float s; scanf(" %f",&s); printf("%0.2f",s); } 上楼的好像写错了!

你没说什么编程语言,以c为例:printf("%.2f",a);对变量a保留两位小数printf("%.3f",a);对变量a保留三位小数

#include #include float fun ( float h ) { long num; h=h+(float)0.005; h=h*100; num=(long)h; h=(float)num; h=h/100; return h; } main() { float a; system("cls"); printf("Enter a: "); scanf("%f",&a); printf("The original data is: "); printf("%f \n\n",a); printf("The result: %5.2f\n",fun(a)); getch(); }

求平均数时将a、b、c中的一个强制转换成浮点型,输出的时候,限定保留两位小数就ok.例如:printf("%.2f",((float)a+b+c)/3); 将a转换为float,那运算的结果就是浮点型,也即可以得到小数,输出的时候用%.2f,就是保留2位小数,输出浮点型数

(int)(a*100 + 0.5)/100,这个写法是四舍五入的结果应该是20.22(int) 一个数,是会把小数部分直接舍去的,加上0.5正好变成四舍五入

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

延伸阅读: