griz
Активный участник
DBL_MAX = 1.7976931348623158e+308Как отвалится? Это ведь не ящерица……… Поищи сколько знаков после запятой хранит double число. Просто надо правильно делить. Если ID чарта имеет тип long и делить на целочисленное число 1000000, то конечно получишь целочисленное значение. Но если long делить на 1000000.0 и сунуть это частное в переменную типа double с явным приведением типа, то получишь желаемое. И обратно, умножая на 1000000 явно привести к типу long.
Я в этом плохо разбираюсь. Как я понял, в double влезает 15 значимых цифр после запятой и 16-я цифра округляемая. А мне нужно 18 цифр.
Даже, если вот так проверить:
Код:
long a = 132583223415320869;
double b = a;
Ваш вариант:
Код:
long a = 132583223415320869;
double b = 1000000.0;
double d = a / b;
В общем такой вариант не подходит