Я пытаюсь получить число цифр после десятичной точки в двойном. В настоящее время мой код выглядит следующим образом:Определение числа десятичных цифр в двойном - C++
int num_of_decimal_digits = 0;
while (someDouble - someInt != 0)
{
someDouble = someDouble*10;
someInt = someDouble;
num_of_decimal_digits++;
}
Всякий раз, когда я вхожу в дробной для someDouble, что меньше, чем один, цикл застревает и повторяет бесконечно. Должен ли я использовать static_cast? Любой совет?
На этот вопрос почти нет значимого ответа. Это в значительной степени зависит от вас, чтобы определить, сколько мест может быть значительным и действовать соответствующим образом. –
** - 1 ** Если ваши версии с плавающей точкой реализации C++ не основаны на десятичном представлении (в отличие от целых, это разрешено, но очень редко), вопрос не имеет смысла. –