Страница: 1 |
Страница: 1 |
Вопрос: Как убрать у дробного числа цифры после запятой?
Добавлено: 30.08.08 14:15
Автор вопроса: Ciaocacao
Подскажите кто знает как справиться с такой проблемой: моя прога делит одно число на другое и пишет ответ в лейбл1. Обычно получается дробное число с огромным количеством цифр после запятой. Как сделать, чтобы в ответ писались цифры только до запятой, а остаток отбрасывался? ну или до запятой и + 1 знак после запятой?
Решение, думаю, не будет сложным, просто раньше никогда с этим не сталкивался.
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
Игорь
ICQ: 457394129
Вопросов: 52
Ответов: 133
Профиль | | #1
Добавлено: 30.08.08 16:35
Либо вообще убрать числа после запятой: Label1=Fix(Число)
Либо регулируй количество чисел после запятой:
Label1=Format(Число,"##0.00"-Вродебы так. Если написал верно то после запятой будеь 2 знака!
Номер ответа: 2
Автор ответа:
Игорь
ICQ: 457394129
Вопросов: 52
Ответов: 133
Профиль | | #2
Добавлено: 30.08.08 16:43
Вторая пишется вот так:
Label1=Format(Число, "###0.00"
Напишешь например 100.523, получишь 100.52
Номер ответа: 3
Автор ответа:
Боцман
ICQ: 295725312
Вопросов: 53
Ответов: 830
Web-сайт:
Профиль | | #3
Добавлено: 30.08.08 17:54
А типа 5\3 уже что отменили???
Номер ответа: 4
Автор ответа:
Игорь
ICQ: 457394129
Вопросов: 52
Ответов: 133
Профиль | | #4
Добавлено: 30.08.08 19:50
Не Боцман, 5\3 это явное округление, которое может произойти и в большую сторану. Нужно просто убрать хвост, тоесть заведомо округлить вниз!
Номер ответа: 5
Автор ответа:
Боцман
ICQ: 295725312
Вопросов: 53
Ответов: 830
Web-сайт:
Профиль | | #5
Добавлено: 30.08.08 20:48
Не Боцман, 5\3 это явное округление
Если, к примеру, вы делите два числа нацело, пишите w = w \ 2 вместо w = Int(w / 2). Вообще последнее должно рассматриваться так: w = CInt(Int(CDbl(w) / 2)). А целочисленное деление есть команда процессора, которая должна выполняться как одна операция, то есть быстро. Но однако оператор •\• (делить нацело) работает не совсем так как Int(•/•). А именно, он работает как Fix(•/•).Напомню, разница между Int и Fix в том, что Int возвращает наибольшее целое, меньшее аргумента, а Fix возвращает ближайшее меньшее по модулю целое к аргументу
Номер ответа: 6
Автор ответа:
Боцман
ICQ: 295725312
Вопросов: 53
Ответов: 830
Web-сайт:
Профиль | | #6
Добавлено: 30.08.08 22:58
Ciaocacao задал вопрос и слинял.
На всякий случай по
Как вариант; Функция Round полезна для возвращения номера с указанном числом десятичных знаков, Вы не можете предсказать, как будет выполненно округление, когда округляемая цифра равна 5. Как VB округляет число зависит от внутреннего двоичного представления переданного аргумента.
A = 123.456789
retva l = Round 'возвращается 123
retva l = Round (A, 3) 'возвращается 123.457
Номер ответа: 7
Автор ответа:
Ciaocacao
Вопросов: 3
Ответов: 5
Профиль | | #7
Добавлено: 01.09.08 12:45
Игорь и Боцман, спасибо, теперь все получилось! Подходят оба способа.
ps: сорри, что не смог ответить в тот же день...