Вопрос № 63368: Здравствуйте! Подскажите пожалуйста. Известно, что в 1с округляется 1,5 до 2 или 1,5 до 1.
Если ЦенаРозничная=Окр((Цена+(Цена*7/10)),0,1);
например получается 20,45, то округлится до 20 (в настройках стоит 1,5 до 2). А можно как то сделать,...
Вопрос № 63.368
Здравствуйте! Подскажите пожалуйста. Известно, что в 1с округляется 1,5 до 2 или 1,5 до 1.
Если ЦенаРозничная=Окр((Цена+(Цена*7/10)),0,1);
например получается 20,45, то округлится до 20 (в настройках стоит 1,5 до 2). А можно как то сделать, чтобы округлялось до целого 21(а не 20).
Отправлен: 20.11.2006, 11:33
Вопрос задал: Darina (статус: Посетитель)
Всего ответов: 6 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Зайцев Александр
Здравствуйте, Darina!
только програмно
ЦенаРозничная=цел(Цена+(Цена*7/10))+1;
Ответ отправил: Зайцев Александр (статус: Студент)
Ответ отправлен: 20.11.2006, 11:41 Оценка за ответ: 5 Комментарий оценки: Спасибо! Всё правильно.
Отвечает: Игорь К.
Здравствуйте, Darina!
Можно!
Например так:
Если ЦенаРозничная=Окр(((Цена+(Цена*7/10))+0.49),0,1);
Если надо брать с точностью до копеек то надо прибавить 0.0049
Удачи!
--------- Лучше два часа потерять, потом за пять минут долететь
Ответ отправил: Игорь К. (статус: 2-ой класс)
Ответ отправлен: 20.11.2006, 11:43 Оценка за ответ: 5 Комментарий оценки: Спасибо! И так тоже правильно.
Отвечает: Краюшкин Игорь Валерьевич
Здравствуйте, Darina!
Если ВашеЧисло > Цел(ВашеЧисло) Тогда
ВашеЧисло = Цел(ВашеЧисло) + 1;
КонецЕсли;
Ответ отправил: Краюшкин Игорь Валерьевич (статус: 6-ой класс)
Ответ отправлен: 20.11.2006, 20:52 Оценка за ответ: 5
Отвечает: Elric
Здравствуйте, Darina!
Ответ Зайцева Александра не сработает для числа 20,00 (т.е. если дробной части вообще не было, а такое может случиться) -- вместо 20 Вы получите 21.
Дополним формулу:
ЦенаРозничная=Цена+(Цена*7/10);
ЦенаРозничная=?(Цел(ЦенаРозничная)=ЦенаРозничная,ЦенаРозничная,Цел(ЦенаРозничная)+1);
--------- Мирный атом в КАЖДЫЙ дом!
Ответ отправил: Elric (статус: Практикант)
Ответ отправлен: 20.11.2006, 23:20 Оценка за ответ: 5
Отвечает: Гребиников Павел Генадьевич
Здравствуйте, Darina!
Проверяй число на наличие дробной части, и если найдет, тогда выдели целое функцией ЦЕЛ() и прибавь 1
--------- Плох тот юзер, который не мечтает стать админом...
Ответ отправил: Гребиников Павел Генадьевич (статус: 7-ой класс)
Ответ отправлен: 21.11.2006, 06:38 Оценка за ответ: 5
Отвечает: svsrus
Здравствуйте, Darina!
Хм... странный вопрос... А 20 разве не целое?:)
Обычно если округляют то стараются в меньшую сторону (особенно при расчете зарплаты). В Вашем случае придется написать свою функцию для округления, желательно ее добавить в глобальный модуль, для последующего использования.
Функция ОкрМакс(ОкругляемоеЧисло)
Если Цел(ОкругляемоеЧисло) < ОкругляемоеЧисло Тогда
Возврат Цел(ОкругляемоеЧисло)+1;
Иначе
Возврат ОкругляемоеЧисло;
КонецЕсли;
КонецФункции;
Ответ отправил: svsrus (статус: 3-ий класс)
Ответ отправлен: 21.11.2006, 08:59