|
|
|
Помогите разобраться со знаками после запятой
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, вот тут такая задача: есть счет на некоторые артикулы, в нем указываются цены за штуку и количество. Есть общая сумма скидки на весь счет, которую надо сделать. Необходимо подобрать скидки на каждую позицию. То есть, если очень наглядно: 15000=[старая цена1(100 - скидка1)/ 100]*количество_1 + [старая цена2(100 - скидка2)/1 00]*количество_2.....+[старая цена_n(100 - скидка_n)/ 100]]*количество_n. Ограничения-два знака после запятой для цен- со скидкой и без, округлять нельзя, потому что отклонения получаются заметные. Что делать, как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 11:08 |
|
||
|
Помогите разобраться со знаками после запятой
|
|||
|---|---|---|---|
|
#18+
и для скидок тоже ограничение- два знака после запятой, не больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 11:09 |
|
||
|
Помогите разобраться со знаками после запятой
|
|||
|---|---|---|---|
|
#18+
Что делать, как быть? Это нам вопрос?? В произвольном случае задачу не удастся решить так чтоб сумма складывалась ровно.. (пример : Цена = 1; Количество = 10000; СуммаСкидки = 1 => Скидка1 = 0.00001) можно выбрать скидки так чтобы минимизировать разницу между общей суммой скидки и сумм полученых попозиционно.. это всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 11:23 |
|
||
|
Помогите разобраться со знаками после запятой
|
|||
|---|---|---|---|
|
#18+
ЦиляЗдравствуйте, вот тут такая задача: есть счет на некоторые артикулы, в нем указываются цены за штуку и количество. Есть общая сумма скидки на весь счет, которую надо сделать. Необходимо подобрать скидки на каждую позицию. То есть, если очень наглядно: 15000=[старая цена1(100 - скидка1)/ 100]*количество_1 + [старая цена2(100 - скидка2)/1 00]*количество_2.....+[старая цена_n(100 - скидка_n)/ 100]]*количество_n. Ограничения-два знака после запятой для цен- со скидкой и без, округлять нельзя, потому что отклонения получаются заметные. Что делать, как быть? умножить все на 100, работать как с интежер/лонг, результаты поделить на 100 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2007, 19:30 |
|
||
|
Помогите разобраться со знаками после запятой
|
|||
|---|---|---|---|
|
#18+
ЦиляЗдравствуйте, вот тут такая задача: есть счет на некоторые артикулы, в нем указываются цены за штуку и количество. Есть общая сумма скидки на весь счет, которую надо сделать. Необходимо подобрать скидки на каждую позицию. То есть, если очень наглядно: 15000=[старая цена1(100 - скидка1)/ 100]*количество_1 + [старая цена2(100 - скидка2)/1 00]*количество_2.....+[старая цена_n(100 - скидка_n)/ 100]]*количество_n. Ограничения-два знака после запятой для цен- со скидкой и без, округлять нельзя, потому что отклонения получаются заметные. Что делать, как быть? Чтобы, Вы не делали в данном случае - всё равно получите погрешность. Если я правильно понял, скидка применяется к общей стоимости всех товаров... Если Вы примените скидку к каждому товару в отдельности, и посчитаете общую стоимость товара, то получите значение скидки отличное от предоставляемой (из-за округления). Сам решал подобную задачу - когда у ЧП-шника покупался определённый ассортимент товара, на стоимость которого производилась скидка, а товар нужно было оприходовать по каждой товарной позиции с указанием цены товара со скидкой, а общая уплаченная стоимость этих товаров должна совпадать со счётом... Вышел из положения следующим образом - все товарные позиции заносятся с учётом фиксированной скидки, а на последнем товаре производим корректировку, т.е. убираем погрешность ( стоимость последней тов.позиции=цена товара - скидка на товар - (стоимость всех тов.позиций,включая последнюю - общая стоимость со скидкой по счёту). Единственный минус - это погрешность на стоимости последнего товара - зато меньше гемороя и бухгалтерия сводится без особого труда... Сорри, если вдруг ошибся в формуле вычисления стоимости последней товарной позиции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 15:19 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=34319678&tid=1346264]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
81ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 404ms |

| 0 / 0 |
