Корень из числа

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Мика
Обычный пользователь
Обычный пользователь
 
Сообщения: 58
Зарегистрирован: 08.06.2003 (Вс) 10:27

Корень из числа

Сообщение Мика » 14.10.2003 (Вт) 15:40

Я знаю что есть функа SQR() но она корень вычесляет из всего подряд, а мне нужно чтоб он извлекал из тех чисел из которых корень извлекается целым!!!
Пробовал так

Dis=101

Kv = Sqr(Dis)
If Int(Kv) <> Kv Then
Kv = Dis
End If
SQR() извлекает не целое число а потом сразу округляет его
Может есть кака ето другая функа :?: :?: :?:
Заранее спасиб :!:

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 14.10.2003 (Вт) 15:48

А вот так не попробовать?

Код: Выделить всё
src = 101
resut = sqr(src)
if result*result<>src then result = src

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4158
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 14.10.2003 (Вт) 16:05

Так тоже не пойдет. SQR вычисляется не точно. Может получиться типа sqr(4)=1.999999999.
Нужно добавить
Код: Выделить всё
dim res as long, src as long

ну или integer

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 14.10.2003 (Вт) 16:09

Да ну. Интересно когда такое может получиться? :?

Мика
Обычный пользователь
Обычный пользователь
 
Сообщения: 58
Зарегистрирован: 08.06.2003 (Вс) 10:27

Сообщение Мика » 14.10.2003 (Вт) 16:57

_________________________СПАСИБО!___________________________
:D

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4158
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 15.10.2003 (Ср) 15:05

Проверил - действительно, все корни, результат которых целый, вычисляются без погрешности, хоть Single, хоть Double. :oops:
Просто я запомнил ошибку со времен DOS.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

    TopList