Страница: 1 |
|
Вопрос: Помогите с округлением
|
Добавлено: 05.02.03 12:08
|
|
Автор вопроса: Жмурик
|
Надо округлить в таблице числовые выражения (числа должны быть округлены в ближайшее целое число) типа 1.2 в 2 1.8 в 2 и каким методом заранее спасибо
Ответить
|
Номер ответа: 1 Автор ответа: Artificial Intelligence
ICQ: 275368971
Вопросов: 8 Ответов: 131
|
Профиль | | #1
|
Добавлено: 05.02.03 14:13
|
Для этого и в VBA и в VB используется Round VBA - ActiveCell = "=ROUND(1.78787, 0)" VB - k = Round(1.78787, 0)
Ответить
|
Номер ответа: 2 Автор ответа: Artificial Intelligence
ICQ: 275368971
Вопросов: 8 Ответов: 131
|
Профиль | | #2
|
Добавлено: 05.02.03 14:44
|
Только не надо думать что я тормоз, предыдущий вопрос я увидел позднее.
Ответить
|
Номер ответа: 3 Автор ответа: LIS
Вопросов: 7 Ответов: 256
|
Профиль | | #3
|
Добавлено: 06.02.03 01:03
|
Вопрос был : Надо округлить в таблице числовые выражения (числа должны быть округлены в ближайшее целое число) типа 1.2 в 2 1.8 в 2 и каким методом Ответ был : k = Round(1.78787, 0) что совершенно неверно !!! k = Round(1.78787, 0) , k=2 но k = Round(1.28787, 0) , К=1 но это не то что спрашивал т. Жмурик !!!
Ответить
|
Номер ответа: 4 Автор ответа: Artificial Intelligence
ICQ: 275368971
Вопросов: 8 Ответов: 131
|
Профиль | | #4
|
Добавлено: 06.02.03 09:08
|
Тады вот так:
Function Округление(Число) Dim НомерСимвола As Integer Округление = Число For НомерСимвола = 1 To Len(Число) If Mid(Число, НомерСимвола, 1) = "." Or Mid(Число, НомерСимвола, 1) = "," Then Округление = Left(Число, НомерСимвола - 1) + 1: Exit Function End If Next End Function
А ты т. LIS мог бы и свой вариант написать, раз такой умный.
Ответить
|
Номер ответа: 5 Автор ответа: Alex&r
Вопросов: 10 Ответов: 105
|
Профиль | | #5
|
Добавлено: 06.02.03 13:47
|
Дело, наверное, в том, что т.Жмурик не читает ответы на свои вопросы.
Ответить
|
Номер ответа: 6 Автор ответа: LIS
Вопросов: 7 Ответов: 256
|
Профиль | | #6
|
Добавлено: 07.02.03 01:07
|
2 Artificial Intelligents ... Заниматься плагиатом не намерен. Прекрасный ответ дан ниже by Sasha_LS А ваш ответ , т. Artificial пахнет детским садом , что-то САМ ДУРАК... Не красиво...
Ответить
|
Номер ответа: 7 Автор ответа: Artificial Intelligence
ICQ: 275368971
Вопросов: 8 Ответов: 131
|
Профиль | | #7
|
Добавлено: 07.02.03 09:10
|
товарищу LIS'у
Во-превых: Если говорить про прекрасный ответ Sasha_LS Dim Result As Single Result = A \ 1 + 1 хочу заметить что если А = 8.36 то Result = 9, а если А = 8.66 то Result = 10
Во-вторых: Плагиат здесь совершенно не причем.
Ответить
|
Номер ответа: 8 Автор ответа: Alex&r
Вопросов: 10 Ответов: 105
|
Профиль | | #8
|
Добавлено: 07.02.03 10:03
|
Да-да, ArIn прав, это я по аналогии с паскалем, там целочисленное деление и выделение мантиссы работают правильно. Но дело поправимое: Result = (A-0.5) \ 1 + 1 PS: 1. Робяты! Не горячитесь по пустякам.
Ответить
|
Номер ответа: 9 Автор ответа: Alex&r
Вопросов: 10 Ответов: 105
|
Профиль | | #9
|
Добавлено: 10.02.03 09:45
|
Не успел в пятницу дописать: PS 2. Конечно же нужно пользоваться Round Round(Value , 0) - округление к ближайшему целому Round(Value + 0.5 , 0) - округление к большему Round(Value - 0.5 , 0) - округление к меньшему
Ответить
|
Номер ответа: 10 Автор ответа: Alex&r
Вопросов: 10 Ответов: 105
|
Профиль | | #10
|
Добавлено: 10.02.03 10:02
|
Не успел в пятницу дописать: PS 2. Конечно же нужно пользоваться Round Round(Value , 0) - округление к ближайшему целому Round(Value + 0.5 , 0) - округление к большему Round(Value - 0.5 , 0) - округление к меньшему
Ответить
|
Страница: 1 |
Поиск по форуму