powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Подскажите с округление плиз!
9 сообщений из 9, страница 1 из 1
Подскажите с округление плиз!
    #35205717
Mons
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите с округление плиз!

Есть ли финкция уже какая-нибудь , которая умеет округлять чила...
мне нужно следующее округление до:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 1 
 10 
 50 
 100 
 500 
 1000 
 90 
 900 
 990 
 9000 
 9900 
можно самому писать но это не малый код и проверок много...
тем более еще надо округлять как вверх, так вниз и математически!

спасибо!
...
Рейтинг: 0 / 0
Подскажите с округление плиз!
    #35205890
Фотография IguMEN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это малый код. Универсальная процедура со входными параметрами. Невооруженным глазом видно.

Уж полночь близится, а аффтар все ни жжот!
...
Рейтинг: 0 / 0
Подскажите с округление плиз!
    #35205909
Mons
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну я бы так не сказал...
тут есть нюансы...
согласен что он пишется тупо со всеми проверками....

тут же еще надо смотреть следующее
если число допустим:

82 420 и округляем его до 900,
то получим 82 900,
а если число 420 то получим 0, если математичеки округлять...
уже надо проверок 4 поставить.... так что не так всё просто как кажется на первый взгляд.
с 10,50,100,500 - так конечно всё просто , а вот с девяткаим не очень!
я просто думал модет есть уже функция, ктороая
всё это смотрит и проверяет... но видно самому придется писать....
...
Рейтинг: 0 / 0
Подскажите с округление плиз!
    #35205983
Фотография IguMEN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
function okrugl(a as long, b as integer) as long
' a - число, которое надо округлить
' b  - до чего округляем
' вначале оставляйте ту часть, которая будет округляться (просто исходя из символьной длины)
' допустим, это будет "с". Теперь делим "с" на "b" и частное округляем по всем правилам до
' единицы. Теперь снова умножайте на "b" и прибавляете к части входящего "а", которая не
' подлежала округлению. В результате получаем число "d".
okrugl=d
end function
Уж полночь близится, а аффтар все ни жжот!
...
Рейтинг: 0 / 0
Подскажите с округление плиз!
    #35206078
Mons
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
function okrugl(a as long, b as integer) as long
' a - число, которое надо округлить
' b  - до чего округляем
' вначале оставляйте ту часть, которая будет округляться (просто исходя из символьной длины)
' допустим, это будет "с". Теперь делим "с" на "b" и частное округляем по всем правилам до
' единицы. Теперь снова умножайте на "b" и прибавляете к части входящего "а", которая не
' подлежала округлению. В результате получаем число "d".
okrugl=d
end function

делаем с числом 82420 и округляем до 900

1. 420 / 900= 0 0*900 = 0 0 +82420 = 82420 - это никак не 82900

или я что-то не понимаю и не так делаю??
...
Рейтинг: 0 / 0
Подскажите с округление плиз!
    #35206095
Фотография IguMEN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прибавляем к части, не тронутой округлением, т.е. 82000. Придется выделить под такое число еще переменную. Что ж пожертвуй несколькими байтами ради универсальности
...
Рейтинг: 0 / 0
Подскажите с округление плиз!
    #35206118
Mons
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ок

Код: plaintext
1.
2.
3.
4.
допустим , а если число  82000 

 000  /  900 =  0  
 0 * 900  =  0  
 0  + 82000  =  82000  , а тут уже должно быть  81900 

оно должно округлять к ближайшему такому числу....
мы ведь до 900 округляем!!!!
...
Рейтинг: 0 / 0
Подскажите с округление плиз!
    #35206152
Фотография IguMEN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так надо было уточнить и нижний порог. Я то писал про "от 0 до 900"
...
Рейтинг: 0 / 0
Подскажите с округление плиз!
    #35206186
Mons
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну как бы округляем до 900, значит на конце могут быть числа только 900,
либо 0 - если число меньше 450, в данном случае....

наверное без кучи проверок никак....

тем более я писал что если число 420 коругляем до 900 получаем 0,
а если 80420 то 79900 , это если математичиски округлять...
а мне еще и вврех и вниз надо....
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
т.е. математически до  900 
 420  -  0  
 450  -  900 
 449  -  0 
 1420  -  1900 
 1399  -  900 
вверх  до  900 
 420  -  900 
 440  -  900 
 800  -  900 
 901  -  1900 
и вниз до  900 
 420  -  0 
 899  -  0 
 901  -  900 
 1899  -  900 
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Подскажите с округление плиз!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]