• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Получение целого числа

  • Автор темы SeverBap
  • Дата начала
S

SeverBap

Есть процедура:
Код:
Процедура ПодсчетОстатков()
ДробныеОстатки=0; 
Сч=0;
ТаблицаДанных.ВыбратьСтроки();
Пока ТаблицаДанных.ПолучитьСтроку()=1 Цикл
Если ТаблицаДанных.Статус=6 Тогда
ДробныеОстатки=(ТаблицаДанных.СуммаУстановки-Цел(ТаблицаДанных.СуммаУстановки))*ТаблицаДанных.КоличествоСтрок();
//ДробныеОстатки=ДробныеОстатки+Число((ТаблицаДанных.СуммаУстановки-Цел(ТаблицаДанных.СуммаУстановки)));
ТаблицаДанных.СуммаУстановки=Цел(ТаблицаДанных.СуммаУстановки);
Сообщить(ДробныеОстатки); 
Сч=Сч+1;
КонецЕсли;
//Прервать;
КонецЦикла;
ПоследняяСуммаУстановки=Цел(ДробныеОстатки); 
Сообщить(ПоследняяСуммаУстановки);
ДробныеОстатки=ДробныеОстатки-ПоследняяСуммаУстановки;
ТаблицаДанных.ВыбратьСтроки();
Пока ПоследняяСуммаУстановки>=1 Цикл
ТаблицаДанных.ПолучитьСтроку();
Если ТаблицаДанных.Статус=6 Тогда 
Если ПоследняяСуммаУстановки>=1 Тогда
ТаблицаДанных.СуммаУстановки=ТаблицаДанных.СуммаУстановки+1;
ПоследняяСуммаУстановки=ПоследняяСуммаУстановки-1; 
ИначеЕсли ТаблицаДанных.СуммаОграничение>ТаблицаДанных.СуммаУстановки+1 Тогда
ТаблицаДанных.СуммаУстановки=ТаблицаДанных.СуммаУстановки+ПоследняяСуммаУст
ановки;
ПоследняяСуммаУстановки=ПоследняяСуммаУстановки-ПоследняяСуммаУстановки;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Сообщить(ПоследняяСуммаУстановки);
КонецПроцедуры
Проблема в этом месте:
Код:
	ПоследняяСуммаУстановки=Цел(ДробныеОстатки); 
Сообщить(ПоследняяСуммаУстановки);
Допустим ДробныеОстатки=75, после применения метода Цел() ПоследняяСуммаУстановки=74!!!!!! - почему так и в чем причина????
:rolleyes:
 
P

puh14

Знаешь - я сам как-то видел что число (высчитывало по формуле, присваивалось реквизиту с 2 знаками , число вроде 217,555) при округлении до второго знака с выставленным правилом окпугления в меньшую сторону округляло в большую. Лечилось только ОКР() до присваивания значения. Мож тебе лучше не ЦЕЛ а ОКР?
Посмотри ещё
ПоследняяСуммаУстановки=Цел(ДробныеОстатки);
Сообщить("ДР " + ДробныеОстатки);
Сообщить(ПоследняяСуммаУстановки);
 
S

SeverBap

Смотрели все, - всеми сообщениями и всем бюро, всеравно такая борода!!! :(
 
K

KiR

Слух, а что будет если ты сделаешь так:
ПоследняяСуммаУстановки=Цел(ОКР(ДробныеОстатки));
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!