Zloy_Gelud

Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору 40rt Цитата: как мне расчитать количество недель и дней из числа? | Можно так попробывать.. Код: function DDInWeek(nDays) nWeeks = 0; nRemDays = 0; if (nDays > 7) then nWeeks = Math.Floor(nDays / 7); nRemDays = nDays - nWeeks * 7; end -- Days - всего дней, Weeks - кол-во недель, RemDays - остаток дней return {Days = nDays, Weeks = nWeeks, RemDays = nRemDays}; end nNumber = 3027; tDuration = DDInWeek(nNumber); if (tDuration) then -- если есть недели if (tDuration.Weeks ~= 0) then sMes = "Дней - "..tDuration.Days.." ("..tDuration.Weeks.." нед., "..tDuration.RemDays.." дн.)"; else sMes = "Дней - "..tDuration.Days; end Dialog.Message("Продолжительность", sMes, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1); end | Добавлено: 40rt -- и по поводу глюков..Если я правильно понял , что тебе надобно, то во приблизительно.. Код: --[[ Функция возвращает целое число из нецелого ]] function InInt(sNumb) -- позиция запятой local nPointPos = String.ReverseFind(sNumb, ".", false); -- если число нецелое if (nPointPos ~= -1) then -- кол-во знаков после запятой nChars = String.Length(String.Mid(sNumb, nPointPos + 1, -1)); -- множитель в зависимости от кол-во знаков после запятой nMultiplier = String.ToNumber("1"..String.Repeat("0", nChars)); else -- если число целое -- множитель равен 1 nMultiplier = 1; end -- возвращаем целое число return String.ToNumber(sNumb) * nMultiplier^2 / nMultiplier; end x = InInt(Input.GetText("Input1")); y = InInt(Input.GetText("Input2")); z = InInt(Input.GetText("Input3")); test = x - y - z; Dialog.Message("Test", test, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1); | Цитата: ..то та-же ошибка получается... | Использовать такую запись 10000^2/10000 необходимо непосредственно во время умножения, а не присваивать значение множителю. |