• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

как узнать что Value Is Integer

  • Автор темы yerke
  • Дата начала
M

morpheus

IsNumeric function


Tests the value of an expression to determine whether it is numeric, or can be converted to a numeric value.
 
Y

yerke

Код:
If Isnumeric(s1) Then 
If Len(s1)=4 Then

'=я здесь должен проверить что s1 именно интеджер а не какой нибудь дабл


end if
end if

или как узнать что валью
именно год:то есть 4 значный интнджер
 
M

morpheus

мЫсль правильная, но немного не дочитали хэлп

инетжер - переменная с 2-byte и её пределы -32768 to 32767 (включительно)

так что проверить надо на байты в кол-ве 2х штук и/или на пределы (см. выше)

именно год:то есть 4 значный интнджер
Len(Cstr(s1)) = 4 или по пределам ( 1900 < s1 < 2100 )
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Ну так переведи обратно в число и посмотри целое ли оно.
 
M

morpheus

че будет если
s1="1910,452"

1900 < 1910,452 < 2100
s1="1910,452" - стринг
1900 < 1910,452 < 2100 - работа с числами ...
для начала s1 надо в число перевести


если число с дробью то
If expr is a string expression, CInt returns the numeric representation of the string, rounded to the nearest integer. If LotusScript cannot convert the string to a number, the function returns an error.
( Help © )

и вообще integer переводиться именно как целое число

Код:
Dim iYear as integer
if IsNumeric( s1 ) then
iYear = Cint( s1 )
if 1900 < iYear < 2100 then 
....
End if
End if
 
O

Omh

Можно ещё посмотреть в сторону ф-ии TypeName + пара проверок.
 
Y

yerke

cделал так
Код:
s1=Cstr(eyfen.ColumnValues(0))
If Isnumeric(s1) Then 
If Len(s1)=4 Then 
If Fraction(Cdbl(s1))=0 Then					
'=do somthing

end if 
end if
end if
 
K

K-Fire

... Просто так, мимо проходил:

ИМХО уже то, что год получаете как строку, говорит о неоптимальном дизайне приложения.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!