Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Помогите разобраться со знаками после запятой / 6 сообщений из 6, страница 1 из 1
08.02.2007, 11:08
    #34314993
Циля
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться со знаками после запятой
Здравствуйте, вот тут такая задача:
есть счет на некоторые артикулы, в нем указываются цены за штуку и количество. Есть общая сумма скидки на весь счет, которую надо сделать. Необходимо подобрать скидки на каждую позицию. То есть, если очень наглядно:
15000=[старая цена1(100 - скидка1)/ 100]*количество_1 + [старая цена2(100 - скидка2)/1 00]*количество_2.....+[старая цена_n(100 - скидка_n)/ 100]]*количество_n.

Ограничения-два знака после запятой для цен- со скидкой и без, округлять нельзя, потому что отклонения получаются заметные.
Что делать, как быть?
...
Рейтинг: 0 / 0
08.02.2007, 11:09
    #34314999
Циля
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться со знаками после запятой
и для скидок тоже ограничение- два знака после запятой, не больше.
...
Рейтинг: 0 / 0
08.02.2007, 11:23
    #34315074
Палестинец
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться со знаками после запятой
Что делать, как быть?
Это нам вопрос??
В произвольном случае задачу не удастся решить так чтоб сумма складывалась ровно..

(пример :
Цена = 1;
Количество = 10000;
СуммаСкидки = 1
=>
Скидка1 = 0.00001)

можно выбрать скидки так чтобы минимизировать разницу между общей суммой скидки и сумм полученых попозиционно..
это всё.
...
Рейтинг: 0 / 0
08.02.2007, 19:30
    #34317297
A. Fig Lee
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться со знаками после запятой
ЦиляЗдравствуйте, вот тут такая задача:
есть счет на некоторые артикулы, в нем указываются цены за штуку и количество. Есть общая сумма скидки на весь счет, которую надо сделать. Необходимо подобрать скидки на каждую позицию. То есть, если очень наглядно:
15000=[старая цена1(100 - скидка1)/ 100]*количество_1 + [старая цена2(100 - скидка2)/1 00]*количество_2.....+[старая цена_n(100 - скидка_n)/ 100]]*количество_n.

Ограничения-два знака после запятой для цен- со скидкой и без, округлять нельзя, потому что отклонения получаются заметные.
Что делать, как быть?

умножить все на 100, работать как с интежер/лонг, результаты поделить на 100
...
Рейтинг: 0 / 0
09.02.2007, 15:19
    #34319665
ulogos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться со знаками после запятой
ЦиляЗдравствуйте, вот тут такая задача:
есть счет на некоторые артикулы, в нем указываются цены за штуку и количество. Есть общая сумма скидки на весь счет, которую надо сделать. Необходимо подобрать скидки на каждую позицию. То есть, если очень наглядно:
15000=[старая цена1(100 - скидка1)/ 100]*количество_1 + [старая цена2(100 - скидка2)/1 00]*количество_2.....+[старая цена_n(100 - скидка_n)/ 100]]*количество_n.

Ограничения-два знака после запятой для цен- со скидкой и без, округлять нельзя, потому что отклонения получаются заметные.
Что делать, как быть?

Чтобы, Вы не делали в данном случае - всё равно получите погрешность.

Если я правильно понял, скидка применяется к общей стоимости всех товаров... Если Вы примените скидку к каждому товару в отдельности, и посчитаете общую стоимость товара, то получите значение скидки отличное от предоставляемой (из-за округления).

Сам решал подобную задачу - когда у ЧП-шника покупался определённый ассортимент товара, на стоимость которого производилась скидка, а товар нужно было оприходовать по каждой товарной позиции с указанием цены товара со скидкой, а общая уплаченная стоимость этих товаров должна совпадать со счётом... Вышел из положения следующим образом - все товарные позиции заносятся с учётом фиксированной скидки, а на последнем товаре производим корректировку, т.е. убираем погрешность ( стоимость последней тов.позиции=цена товара - скидка на товар - (стоимость всех тов.позиций,включая последнюю - общая стоимость со скидкой по счёту). Единственный минус - это погрешность на стоимости последнего товара - зато меньше гемороя и бухгалтерия сводится без особого труда...

Сорри, если вдруг ошибся в формуле вычисления стоимости последней товарной позиции
...
Рейтинг: 0 / 0
09.02.2007, 15:21
    #34319678
ulogos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться со знаками после запятой
В принципе, погрешность можно накапливать на любой товарной позиции, главное определиться на какой... Как вариант - на максимальной по стоимости...
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Помогите разобраться со знаками после запятой / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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