Страница: 1 | 2 |
Вопрос: Подскажите пример округления числа
Добавлено: 10.02.07 19:14
Автор вопроса: Stepan
Ответы
Всего ответов: 24
Номер ответа: 16
Автор ответа:
Stepan
Вопросов: 9
Ответов: 32
Профиль | | #16
Добавлено: 12.02.07 00:33
Разгадал загадку. Надо было использвать
ф-ию Val() - это ведь числовая величина (Value)
x = Val(x * 100 + 0.5) / 100
ОГРОМНОЕ ПРИОГРОМНОЕ СПАСИБО ЗА ПОМОЩЬ
Номер ответа: 17
Автор ответа:
Stepan
Вопросов: 9
Ответов: 32
Профиль | | #17
Добавлено: 12.02.07 00:57
Хотя есть и еще один изъян в ф-ии Val()
Это округление на отрицательное число.
Вот к примеру:
Берем число -5399,149 получается -5399,14
Берем число -5399,122 получается -5399,11
Может какую проверку сделать на отрицательное число и добавить еще ф-ию на отрицательное число.
Номер ответа: 18
Автор ответа:
ADSemenov.ru
Вопросов: 5
Ответов: 276
Web-сайт:
Профиль | | #18
Добавлено: 12.02.07 11:33
____ Она должна в отрицательных аргументах вести себя по другому.
Номер ответа: 19
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #19
Добавлено: 13.02.07 17:59
если число < 0 то
результат = -Округлить(-число)
иначе
...
кц
так для отрицательных чисел округление станет на место. Независимо от выбраной функции Округлить.(честно говоря здесь перебрали столько вариантов, что даже не могу понять, который из них выбрали)
Номер ответа: 20
Автор ответа:
Stepan
Вопросов: 9
Ответов: 32
Профиль | | #20
Добавлено: 14.02.07 00:05
СПАСИБО получилось.
Номер ответа: 21
Автор ответа:
Stepan
Вопросов: 9
Ответов: 32
Профиль | | #21
Добавлено: 14.02.07 00:13
Конечный код получился такой:
********************************
If Text1.Text < 0 Then
Text1.Text = Text1.Text * (-1)
Text1.Text = -Val(Text1.Text * 100 + 0.5) / 100
Else
Text1.Text = Val(Text1.Text * 100 + 0.5) / 100
End If
********************************
ОГРОМНОЕ СПАСИБО ЗА ПОМОЩЬ
Номер ответа: 22
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #22
Добавлено: 14.02.07 12:58
Может в биб. кодов?
Номер ответа: 23
Автор ответа:
night-roll
Вопросов: 36
Ответов: 326
Профиль | | #23
Добавлено: 18.02.07 22:33
2 Stepan
может упростить?
Номер ответа: 24
Автор ответа:
cdc
Вопросов: 0
Ответов: 1
Профиль | | #24
Добавлено: 22.02.07 07:32
Здравствуйте, жители форума VBNet!
больно смотреть на ваши мучения с округлением!
представляю вам функцию округления
для любых чисел, положительных и отрицательных:
Okrugly = Fix(CDbl(V * 10 ^ N + Sgn(V) * 0.5)) / 10 ^ N
End Function
' Okrugly - имя функции
' ByVal - слово для получения значения переменной
' V - имя переменной для округления
' N - точность округления
' as - слово перед названием типа переменной
' Double - тип переменной для чисел с плавающей точкой
' Integer - тип целых чисел
' = - оператор присваивания
' Fix - возвращает целую часть нецелого числа
' CDbl - преобразование того, что в скобках, к типу Double
' * - оператор умножения
' + - оператор сложения
' Sgn - определяет знак числа в скобках
' / - оператор деления