Автор: Morpheus 8:05:2008, 04:09
IsNumeric function
Tests the value of an expression to determine whether it is numeric, or can be converted to a numeric value.
Автор: yerke 8:05:2008, 04:22
If Isnumeric(s1) Then
If Len(s1)=4 Then
'=я здесь должен проверить что s1 именно интеджер а не какой нибудь дабл
end if
end if
или как узнать что валью
именно год:то есть 4 значный интнджер
Автор: Morpheus 8:05:2008, 04:27
Цитата(yerke @ 8:05:2008 - 06:15)

If Len(s1)=4 Then
мЫсль правильная, но немного не дочитали хэлп
инетжер - переменная с
2-byte и её пределы -32768 to 32767 (включительно)
так что проверить надо на байты в кол-ве 2х штук и/или на пределы (см. выше)
Цитата(yerke @ 8:05:2008 - 06:22)

именно год:то есть 4 значный интнджер
Len(Cstr(s1)) = 4 или по пределам ( 1900 < s1 < 2100 )
Автор: yerke 8:05:2008, 04:46
у меня s1 итак стринг
я сразу валью перевел в стринг для удобсва
Цитата(Morpheus @ 8:05:2008 - 10:27)

Len(Cstr(s1)) = 4 или по пределам ( 1900 < s1 < 2100 )
че будет если
s1="1910,452"
1900 < 1910,452 < 2100
Автор: Medevic 8:05:2008, 04:58
Ну так переведи обратно в число и посмотри целое ли оно.
Автор: Morpheus 8:05:2008, 06:09
Цитата(yerke @ 8:05:2008 - 06:46)

че будет если
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
Автор: Omh 8:05:2008, 06:21
Можно ещё посмотреть в сторону ф-ии TypeName + пара проверок.
Автор: yerke 8:05:2008, 07:05
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
Автор: Morpheus 8:05:2008, 07:21
Цитата(yerke @ 8:05:2008 - 09:05)

If Len(s1)=4 Then
и что опять же попадаетесь на 1919,3515310351483
Цитата(yerke @ 8:05:2008 - 09:05)

Cdbl(s1)
тю....
Автор: K-Fire 8:05:2008, 07:43
... Просто так, мимо проходил:
ИМХО уже то, что год получаете как строку, говорит о неоптимальном дизайне приложения.