Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Почему VFP3.0 неккоретно делит одно число на другое? / 7 сообщений из 7, страница 1 из 1
21.11.2005, 09:10:31
    #33389139
Yuliya_g
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему VFP3.0 неккоретно делит одно число на другое?
Доброго времени суток всем!
Такой вопрос: мне необходимо производить вычисление и выводить его результат в отчёте.
Вычисление: значение поля разделить на число 7.66667,
вычисление производится в самом репорте, округляется до сотых, и в некоторых случаях результат вычисления некорректен.
Например,
значение поля=205030.8
вычисление=205030.8/7.66667
при обыкновенном вычислении: результат=26743.14
при вычислении в поле самого репорта: результат=26743.03

Подскажите плиз, почему получается такая разница?
И как её избежать? мне нужны корректные вычисления.

Заранее благодарна!

С уважением, Юля.
...
Рейтинг: 0 / 0
21.11.2005, 09:40:09
    #33389184
Andrey Ts
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему VFP3.0 неккоретно делит одно число на другое?
26743.03 = 205030.8/ 7.667

У васс может быть округление до 3 знаков.
Смотрите в сторону SET DECIMALS
...
Рейтинг: 0 / 0
21.11.2005, 13:32:50
    #33389939
Yuliya_g
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему VFP3.0 неккоретно делит одно число на другое?
Спасибо, Andrey Ts.
Но в этом направлении ничего не действует.
что-то с настройками в отчётах что ли, поскольку в командном окне вычисляет всё верно.

Юля.
...
Рейтинг: 0 / 0
21.11.2005, 14:17:10
    #33390106
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему VFP3.0 неккоретно делит одно число на другое?
Yuliya_gСпасибо, Andrey Ts.
Но в этом направлении ничего не действует.
что-то с настройками в отчётах что ли, поскольку в командном окне вычисляет всё верно.
Юля.
А вообще-то Юля
Код: plaintext
?SET("Decimals")
какое значение дает???
Мне кажется 4.
205030.8/26743.03 = 26743.031552...
...
Рейтинг: 0 / 0
21.11.2005, 15:01:26
    #33390272
Yuliya_g
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему VFP3.0 неккоретно делит одно число на другое?
Владимир СА,
выдаёт 2,
делала установки
SET Decimals to 5
SET Decimals to 10,
но на результат это никак не влияет.
Напоминаю, что это вычисление производится в поле отчёта:
Expression: qd_details.summ/(7.66667)
Format: @J 99999999.99

как же всё-таки получить верный результат расчёта???
...
Рейтинг: 0 / 0
21.11.2005, 15:32:53
    #33390374
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему VFP3.0 неккоретно делит одно число на другое?
Какой ТИП имеет то поле, которое и делится.

Код: plaintext
1.
2.
? 205030 . 8 / 7 . 66667 
?NTOM( 205030 . 8 )/ 7 . 66667 

В первом случае FoxPro использует тип Numeric. Во втором - тип Currency.

С типом Currency есть некоторые тонкости обработки. Если в данном случае нужна точность, то необходимо конвертировать Currency в Numeric при помощи функции MTON()

Код: plaintext
?MTON($ 205030 . 8 )/ 7 . 66667 

Символ доллара - это еще один способ обозначения типа Currency.
...
Рейтинг: 0 / 0
22.11.2005, 07:14:10
    #33391281
Yuliya_g
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему VFP3.0 неккоретно делит одно число на другое?
ВладимирМ,
вы второй раз меня выручили!
Перевела число с помощью MTON().
mton(205030.8)/(7.66667) и результат получила верный!!!!

Спасибо большое!!!

С уважением, Юля.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Почему VFP3.0 неккоретно делит одно число на другое? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]