for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Л и с о в о д ы   в с е х   с т р а н,  о б ъ е д и н я й т е с ь !!!  

Список Форумов  :: Visual Foxpro, Foxpro for DOS
   :: Помощь сайту :: 

Re: ADIR, глюк с маской "?"
Simple777

Сообщений: 19561
Дата: 29.05.18 21:34:34ОтветитьЦитировать
of63
Думаю уже, типа, сделать оператор (подпрограмму) "денежное суммирование", или "денежное умножение",

Делать специально "денежное" - не крута. Если уж и писать свои подпрограммы, то назвать "любое суммирование" и "любое умножение", где "денежное" будет лишь частным случаем. [sm128]
Ratings: 0 negative/0 positive

Re: ADIR, глюк с маской "?"
of63
Автор

Сообщений: 11498
Откуда: Н.Новгород
Дата: 29.05.18 21:39:26ОтветитьЦитировать
НЕТ! как раз именно "денежное" (с округлением на 2 десятичных знака на каждом этапе). Произвольные алгебраические операции в фоксе делает сама математика фокса с Double, "сопроцессор" там какой-то..., но математика с шумовой составляющей Double/фокса уже конкретно имеет значение... за которую спрашивают ответ )
Ratings: 0 negative/0 positive

Re: ADIR, глюк с маской "?"
Igor Korolyov

Сообщений: 31838
Дата: 29.05.18 22:54:58ОтветитьЦитировать
of63
их преобразования NTOM не нужны ... Думаю уже, типа, сделать оператор (подпрограмму) "денежное суммирование"
Где логика? Есть специальный тип данных и специальные правила арифметики при работе с ним (по сути это правила целочисленной арифметики) - но нет, готовый тип "не нужен", зато свой велосипед с квадратными колёсами - нужен
Ладно бы шла речь про числа произвольного размера и точности - но тривиальные денежные вычисления... Они даже с double не вызывают больших проблем, если правильно (вовремя) применять функцию округления...


------------------
WBR, Igor
Ratings: 0 negative/0 positive

Re: ADIR, глюк с маской "?"
of63
Автор

Сообщений: 11498
Откуда: Н.Новгород
Дата: 29.05.18 23:16:15ОтветитьЦитировать
Денежные вычисления простЫ - они все ROUND(2), а я пьян, и сопроцссор (математика Double) здесь и играет, мы просто ее еще не поняли, х.й бы с ней... но мы на ней получили Дос, фокс, винду... Уважаю, конечно, но... чето они нас перестали русифицировать... Наверное тоже надо что то пульнуть в ответ...

> Ладно бы шла речь про числа произвольного размера и точности - но тривиальные денежные вычисления
Они не тривиальные. Вот пример:
На счете клиента лежит сумма 0.01 руб (1 копейка) под 10% годовых
Вопрос: какая сумма на счете клиента по истечении 1 года ? А через 100 лет?



Исправлено: of63, 30.05.18 09:56
Ratings: 0 negative/0 positive

Re: ADIR, глюк с маской "?"
Igor Korolyov

Сообщений: 31838
Дата: 30.05.18 12:37:53ОтветитьЦитировать
Проценты, расценки, переходящие остатки, "суммы по строкам от процентов" - это НЕ сами денежные вычисления, это совсем другая арифметика, точнее бизнес-логика. И там каждый конкретный случай должен описываться чётко и недвусмысленно - и сделать что-то "универсальное" для этого не представляется возможным. Для "денежных" же вычислений всё предельно просто - они целочисленные (просто со сдвигом на 2 знака, если визуализировать их в "рублях").


------------------
WBR, Igor
Ratings: 0 negative/0 positive

Re: ADIR, глюк с маской "?"
of63
Автор

Сообщений: 11498
Откуда: Н.Новгород
Дата: 31.05.18 18:38:11ОтветитьЦитировать
Это да, рубли с рублями складываются хорошо... НО! Берешь от них какие-то нелинейные функции (типа вопроса "число копеек 0 или не 0"), и получается не очень хорошо...
Ratings: 0 negative/0 positive

Re: ADIR, глюк с маской "?"
Igor Korolyov

Сообщений: 31838
Дата: 31.05.18 19:11:36ОтветитьЦитировать
"Число копеек" всегда будет целым.
Расценки/проценты и т.п. - это НЕ копейки. Их (результаты расчётов) ещё надо к копейкам "привести" - и при этом будут применены те или иные "бизнес-правила". И они запросто могут оказаться не просто "отличными от ROUND", но и вообще противоречащими житейской логике и банальному здравому смыслу. Но это правила - и их придётся кодировать именно так как говорит постановщик задачи/аналитик/закон/указ/разъяснение_министерства - да миллион всяких "изобретателей" имеется, плодящих сию "нечеловеческую" логику


------------------
WBR, Igor
Ratings: 0 negative/0 positive

Re: ADIR, глюк с маской "?"
of63
Автор

Сообщений: 11498
Откуда: Н.Новгород
Дата: 31.05.18 19:17:20ОтветитьЦитировать
Я применил математическую логику:
копеек = 100 * (сумма % 1) && расчитываю получить "целое" число...
и она несрабатывает. "Сумма" у меня берется из таблицы, из поля N(14,2). Что тут фоксу не ясно (при его заявлении о ИИ в расчетах в Double) ?
Ratings: 0 negative/0 positive



Извините, только зарегистрированные пользователи могут писать в этом форуме.

On-line: 59 Simple777  and Guests: 58


© 2000-2018 Fox Club 
Яндекс.Метрика