Страница: 1 |
Страница: 1 |
Вопрос: округлить число в большую сторону
Добавлено: 09.02.07 15:16
Автор вопроса: Dima
как округлить число в большую сторону например:
1.2 =2
1.5 =2
1.9 =2
спасибо
Ответы
Всего ответов: 10
Номер ответа: 1
Автор ответа:
pas
Вопросов: 0
Ответов: 1
Профиль | | #1
Добавлено: 09.02.07 15:31
Например так:
Public Function RoundUp(a As Double) As Long
If a - Round > 0 Then
RoundUp = Round + 1
Else
RoundUp = Round
End If
End Function
Номер ответа: 2
Автор ответа:
Dima
Вопросов: 2
Ответов: 2
Профиль | | #2
Добавлено: 09.02.07 15:32
а еще как можна
Номер ответа: 3
Автор ответа:
Dima
Вопросов: 2
Ответов: 2
Профиль | | #3
Добавлено: 09.02.07 15:32
а еще как можна
Номер ответа: 4
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #4
Добавлено: 09.02.07 16:37
А че те еще нужна?
r=iif(a-int<>0,1,0)+int
Номер ответа: 5
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #5
Добавлено: 09.02.07 19:44
ужос
.NET:
PS
Да, да, знаю - в .NET делают те фичи которые в Java были 10 лет назад
Номер ответа: 6
Автор ответа:
DimDoc
Вопросов: 21
Ответов: 104
Профиль | | #6
Добавлено: 13.02.07 04:06
мой вариант:
Public Function myUP(x As Double) As Long
If x \ 1 > x Then x = x \ 1
If x \ 1 < x Then x = x \ 1 + 1
myUP = x
End Function
наверное тоже, что написал PAS
Public Function RoundUp(a As Double) As Long
If a - Round > 0 Then
RoundUp = Round + 1
Else
RoundUp = Round
End If
End Function
Номер ответа: 7
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #7
Добавлено: 13.02.07 17:22
Да че вы мутите?
Номер ответа: 8
Автор ответа:
DimDoc
Вопросов: 21
Ответов: 104
Профиль | | #8
Добавлено: 14.02.07 15:12
Поистине - всё гениальное просто!
Спасибо большое... Но надо не в меньшую круглить, а в большую сторону.
Тогда выходит: a = Fix + 1
Номер ответа: 9
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #9
Добавлено: 14.02.07 16:50
Ну да
Тогда так
Номер ответа: 10
Автор ответа:
DimDoc
Вопросов: 21
Ответов: 104
Профиль | | #10
Добавлено: 14.02.07 22:21
AgentFire SUPERSTAR!!!
Здорово.
всёже сомнение гложет...
думаю: -1 > -2
тогда для отрицательных: a = Fix
а для положительных: a = Fix + sng
или: a = Fix+ 1 (так проще)
ps.: Видели как меня... за плавающую точку...
хотел вас просить помочь, а Вы уже ответили!
Я ведь математику 25 лет назад изучал.
Молодец Fever. Ответил так, что и мне, дураку ясно стало.
Важно, что любые способы округления помогают!
даже Format(x, "0.00" срабатывает.
интересно, что переменная, объявленная как Currency - тоже не приводит к ошибке в этом цикле.
как же правильнее не накапливать ошибки вычисления?
Спасибо за помощь!