Тема: AHK: Убрать остаток
Здраствуйте! Есть ли команда в AHK (Скорее всего есть просто я криво посмотрел
) что бы убрать остаток, к пример 123.456 после команды будет только 123?
Заранее спасибо за ответы!
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здраствуйте! Есть ли команда в AHK (Скорее всего есть просто я криво посмотрел
) что бы убрать остаток, к пример 123.456 после команды будет только 123?
Заранее спасибо за ответы!
Есть, и вам уже её давали в прошлой вашей теме.
msgbox, % 1234.99 // 1или
Var := 1234.99
Var //= 1
msgbox, % Varypppu
Прикольный способ, но нули после запятой немного напрягают.
YMP в прошлой теме был разговор насчет округления вообще, а мне надо просто убрать остаток, без округления.
Хотя в принципе можно просто сделать округление в минус и ответ будет один и тот же в общем то.
Нет, тема была как раз про отбрасывание дробной части.
Какое ещё "округление в минус"? Если речь про Floor(Number), то это кругление до ближайшего целого числа в меньшую строну. При работе с отрицательными числами это не то же самое, что отбрасывание дробной части.
Да, с отрицательными не то же. Там надо Ceil(Number).
MsgBox, % Trunc(12.333) " " Trunc(-12.333)
Trunc(n)
{
Return n < 0 ? Ceil(n) : Floor(n)
}
Кстати с целочисленным делением неправильно. Округляет.
msgbox, % -1234.99 // 1Вот ещё вариант с вычитанием дробной части.
var := -1234.99
msgbox, % var - Mod(var, 1)StringSplit, Var, Var,.
var := var1в var1 хранится левая часть, в var2 правая
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться