永发信息网

C++求平均值计算如何使求得的值只保留一位小数,在线等!

答案:2  悬赏:40  手机版
解决时间 2021-11-26 07:29
  • 提问者网友:送舟行
  • 2021-11-25 11:45
C++求平均值计算如何使求得的值只保留一位小数,在线等!
最佳答案
  • 五星知识达人网友:你哪知我潦倒为你
  • 2021-11-25 12:09
#include 
#include double test(const double input) {
 if (input == 0) { return input; }
 double int_part;
 double fract_part;
 fract_part = std::modf(input,&int_part);
 {
  fract_part *= 10;
  fract_part = std::round(fract_part);//c++11 四舍五入
  fract_part /= 10.0f;
 }
 return fract_part + int_part;
}int main() {
 std::cout << test(3.1415) << std::endl;
 std::cout << test(3.1515) << std::endl;
 std::cout << test(-3.1415) << std::endl;
 std::cout << test(-3.1515) << std::endl;
#ifdef _MSC_VER
 system("pause");
#endif
}
全部回答
  • 1楼网友:春色三分
  • 2021-11-25 12:35
average=sum/num

首先说明一下,average应该是一个float型的变量。至于float型的变量保留几位小数,这个是标准决定的,不是受你控制的。
显示为几位小数,是显示的问题。
你应该设置显示的格式。或者你可以将其转换为字符串,然后显示字符串
例如 char buf[100];
sprintf(buf,"%.1f",average);
然后显示buf就是追问可是MFC编程中用不上Cout和sprintf语句啊- -

只有这样一条语句DDX_Text(pDX, IDC_EDIT2, average);控制显示average追答void AFXAPI DDX_Text( CDataExchange* pDX, int nIDC, CString& value );

sprintf是 C标准库函数,是可以用的。

DDT_Text的一个重载版本最后一个参数可以是CString类型,可以使用
CString ave(buf);
来构建一个CString对象
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯