Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.216.230.107] |
|
Сообщ.
#1
,
|
|
|
Понимаю, что просто написать функцию, которая LeftStr(E) умножит на 10^RightStr(E) - но так не интересно. Есть ли встроенный механизм, позволяющий преобразовать искореженные значения мизерных и великих чисел даблов в нормальные?
|
Сообщ.
#2
,
|
|
|
Цитата Сергей85 @ Есть ли встроенный механизм, позволяющий преобразовать искореженные значения мизерных и великих чисел даблов в нормальные? Format() |
Сообщ.
#3
,
|
|
|
Большие числа нормально выводятся с помощью
Debug.Print Format(num,"#") |
Сообщ.
#4
,
|
|
|
Как ни странно, решением оказалась CDec().
|
Сообщ.
#5
,
|
|
|
Цитата Сергей85 @ Как ни странно, решением оказалась CDec(). И какое же это решение? Числа, в отличие от Format(), переполняются уже на E29. |
Сообщ.
#6
,
|
|
|
Цитата Mikle @ Решение для чисел с <E29, стало быть. ) Добавлено Ну, можно объединить тогда. Если E >28, Debug.Print Format(num,"#"), если меньше - CDec. |
Сообщ.
#7
,
|
|
|
Цитата Сергей85 @ Ну, можно объединить тогда. Если E >28, Debug.Print Format(num,"#"), если меньше - CDec. А если меньше E-29? |
Сообщ.
#8
,
|
|
|
Цитата Mikle @ Слишком маловероятно. Вы о слишком больших крайностях говорите. ) |
Сообщ.
#9
,
|
|
|
Цитата Сергей85 @ Вы о слишком больших крайностях говорите. Так я же не знаю, зачем это, вот и смотрю задачу целиком. А, скажем, E-14, это не очень крайность? Начиная с E-14 при использовании CDec начинают теряться значащие цифры. |
Сообщ.
#10
,
|
|
|
Ну, вот это я уже не знал.
Добавлено У меня до E-12 проверялось. |