关于c++计算精度的问题

题目中需要求B乘H除以A,结果保留两位小数
分别输入A B H为1 1000000 1000000
结果本来应该是1000000000000.00,但输出的是-7.27e+08
请问如何解决?

#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
    int T, A, B, H;
    double H2;

    cin>>T;
    double results[T];

    for (int i=0;i<T;i++)
    {
        cin>>A>>B>>H;
        double H2 = B*H/A;
        results[i]=H2;
    }

    for (int i=0;i<T;i++)
    {
        cout<<showpoint<<setprecision(3)<<results[i]<<'\n';
    }
    return 0;

}

#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
    int T, A, B, H;
    double H2;

    cin>>T;
    double results[T];

    for (int i=0;i<T;i++)
    {
        cin>>A>>B>>H;
        double H2 = B*H/A;
        results[i]=H2;
    }
    cout.setf(ios::fixed,ios::floatfield);
    for (int i=0;i<T;i++)
    {
        cout<<showpoint<<setprecision(3)<<results[i]<<'\n';
    }
    return 0;

}