请问C++里怎么定义小数点后至少九位的数字类型啊?

因为总要用到像7.64976x10^-6这样的数,最后算来算去总是溢出

你可以用double类型的,这个不是算着溢出,而是你打印输出的时候,精度不够,用printf("%.10lf",i);这样输出的话,可以精确到小数点后10位来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-05
输出9位并不难,用 双精度浮点型double 就行。假如你想存入变量a的是9.134。以下是代码:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double a=9.134;
cout<<fixed<<setprecision(9)<<a;
return 0;
}

输出结果:
9.134000000
第2个回答  2018-03-13
如果小数点后位数多得超过了double的限制,那你就只有用一个字符串来代替浮点数,然后模拟浮点数乘法的过程,用字符串来记录乘积。
第3个回答  2014-06-17
这个数无论是float或double都不会溢出,只是精度不同而已……
第4个回答  2014-06-16
double 占用8个字节,精度在14位以上。
相似回答