如何在C ++中获得更多的float精度

时间:2018-02-14 04:49:19

标签: c++

因为浮点数的范围是3.4*10^38。我想从头开始提取10位数。

例如:

如果MyNumber = 3882927188899

然后我想要的输出为3882927188

怎么做?

1 个答案:

答案 0 :(得分:-2)

这将完成这项工作。

template <class T>
int numDigits(T number)
{
    int digits = 0;
    if (number < 0) digits = 1; // remove this line if '-' counts as a digit
    while (number) {
        number /= 10;
        digits++;
    }
    return digits;
} 

int getDigits(float number, int numberOfDigits){
    return floor(number / pow(10, numDigits(number) - numberOfDigits));
}