|
numeric overlow как обойдти
|
|||
---|---|---|---|
#18+
Уважаемые форумляне, всем доброе время суток. Есть такая проблемма - данные размерностью более 20 знаков. На сервере происходит разложение числа в виде правильной дроби(выделяется целая часть и числитель), но помимо этого данные должны быть в виде неправильной дроби. Данные заполняются в цикле и при переполнении выходит ошибка numeric overlow и цикл соответсвенно встает, нужно нажать Ignore. Можно это как-то подавить, чтобы цикл отработал до окончания и не приходилось нажимать кнопки??? Заранее благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2009, 22:25 |
|
numeric overlow как обойдти
|
|||
---|---|---|---|
#18+
RTFM по TRY...CATCH...FINALLY ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2009, 22:33 |
|
numeric overlow как обойдти
|
|||
---|---|---|---|
#18+
Автор не указал версию Фокса, возможно придется отлавливать обработчиком ошибку 39. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2009, 23:11 |
|
numeric overlow как обойдти
|
|||
---|---|---|---|
#18+
AK-ShahАвтор не указал версию Фокса, возможно придется отлавливать обработчиком ошибку 39. По умолчанию считаем последней ;) Но если это неееее так то перехватывать ошибку через глобальную настройку ON ERROR и в ней уже обрабатывать свое особое состояние... Хотя из Фокса numeric overlow удавалось получить кране редко ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2009, 09:14 |
|
numeric overlow как обойдти
|
|||
---|---|---|---|
#18+
версия 6,0 - что есть на том и работаем. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2009, 11:28 |
|
numeric overlow как обойдти
|
|||
---|---|---|---|
#18+
А нельзя перед потенциально опасной операцией просто проверить вероятность переполнения? Т.е. ты значешь максимально возможное значение Код: plaintext
Точность вычисления FoxPro 16 значащих цифр, поэтому, все что больше - это случайные данные Ты знаешь предыдущее значение полученное на предыдущем шаге цикла, значит, можешь определить разницу Код: plaintext 1. 2.
Соответственно, если очередное слагаемое больше этой разницы, то пропускаешь этот шаг или прерываешь цикл. Хотя, с практической точки зрения, прерывать обработку надо при достижении 16 значащих цифр, поскольку все, что больше уже имеет приблизительное значение. Тогда контроль будет еще проще Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2009, 13:07 |
|
|
start [/forum/moderation_log.php?user_name=dafni_2004]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
get settings: |
9ms |
get forum list: |
10ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 1217ms |
total: | 1393ms |
0 / 0 |