我想知道如何返回特定数量的小数。我的代码在下面,我想只返回一个十进制值,但我找不到正确的语法。 (例如x = 3.465 ..但我想返回x = 3.4)
double avg(int* grade, int len){
int i; float sum=0.0;
for(i=0;i<len;i++){
sum+=*(grade+i);
}
return sum/len;
}
答案 0 :(得分:2)
为什么?
精度仅在向用户显示时很重要;在那之前,你当然应该使用最高精度吗?
要在类似printf语句的内容中格式化float,请使用%3.1f
- 字段宽度为3,小数点后1位数。
答案 1 :(得分:1)
由于你在求和整数,你可以将整数域中的平均值乘以10,并在实域中除以10。
{Vertex: {…}}
答案 2 :(得分:-1)
为了使事物更具活力,可以执行以下操作
#include <stdio.h>
#include <math.h>
double trunc_dec(double number, unsigned char length) {
int mult = pow(10, length);
return trunc(number * mult) / mult;
}
int main() {
printf("%f\n", trunc_dec(15.234, 1));
}