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

yerke

Well-Known Member
28.08.2007
392
0
33
Алматы
#3
Код:
If Isnumeric(s1) Then 
If Len(s1)=4 Then

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


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

morpheus

скриптописец
07.08.2006
3 915
1
34
Украина, Киев
#4
мЫсль правильная, но немного не дочитали хэлп

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

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

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

morpheus

скриптописец
07.08.2006
3 915
1
34
Украина, Киев
#7
че будет если
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 &copy; )

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

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

yerke

Well-Known Member
28.08.2007
392
0
33
Алматы
#9
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

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

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