C++中科学计数法输出浮点数怎样对齐小数点

学习 时间:2026-03-30 15:37:37 阅读:5580
C++中科学计数法输出浮点数怎样对齐小数点程序计算结果是两个浮点数a和b,b是a的误差范围,也就是需要表示成a±b的形式,由于a和b都远小于1所以用科学计数法输出.问题是怎样处理才能移动b的小数点位置,使b的整数位跟a保持一致?比如结果为 a = 9.168e-3 b = 2.214e-5怎样才能输出成 9.168±0.022 e-3 的形式呢?

最佳回答

义气的时光

清秀的西装

2026-03-30 15:37:37

int CountNeg(float a)  {   int n = 0;   while((a = a * 10) < 10)    ++n;   return n;  }    void EOut(float a, float b)  {   if (a < b)    return;   int na = CountNeg(a);   int nb = CountNeg(b);   for(int i = 0; i < na; i++)    a *= 10;   for(int i = 0; i < nb - na; i++)    b *= 10;   printf("%f±%fE%d", a, b, na * -1);  }  int main()  {   float a = 9。168e-3, b = 2。214e-5;   EOut(a, b);   return 0;  }

最新回答共有2条回答

  • 欢呼的面包
    回复
    2026-03-30 15:37:37

    int CountNeg(float a)  {   int n = 0;   while((a = a * 10) < 10)    ++n;   return n;  }    void EOut(float a, float b)  {   if (a < b)    return;   int na = CountNeg(a);   int nb = CountNeg(b);   for(int i = 0; i < na; i++)    a *= 10;   for(int i = 0; i < nb - na; i++)    b *= 10;   printf("%f±%fE%d", a, b, na * -1);  }  int main()  {   float a = 9。168e-3, b = 2。214e-5;   EOut(a, b);   return 0;  }

上一篇 弹簧一般有什么材料?

下一篇 告别 泰戈尔的答案,急