Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: как узнать что Value Is Integer
Форум программистов > Базы данных и администрирование > Lotus > Lotus - Программирование
yerke
сабж
Morpheus
IsNumeric function


Tests the value of an expression to determine whether it is numeric, or can be converted to a numeric value.
yerke
Код
If Isnumeric(s1) Then
If Len(s1)=4 Then

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


end if
end if


или как узнать что валью
именно год:то есть 4 значный интнджер
Morpheus
Цитата(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
у меня s1 итак стринг
я сразу валью перевел в стринг для удобсва
Цитата(Morpheus @ 8:05:2008 - 10:27) *
Len(Cstr(s1)) = 4 или по пределам ( 1900 < s1 < 2100 )

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

1900 < 1910,452 < 2100
Medevic
Ну так переведи обратно в число и посмотри целое ли оно.
Morpheus
Цитата(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
Можно ещё посмотреть в сторону ф-ии TypeName + пара проверок.
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
Morpheus
Цитата(yerke @ 8:05:2008 - 09:05) *
If Len(s1)=4 Then

и что опять же попадаетесь на 1919,3515310351483


Цитата(yerke @ 8:05:2008 - 09:05) *
Cdbl(s1)

тю.... wacko.gif
K-Fire
... Просто так, мимо проходил:

ИМХО уже то, что год получаете как строку, говорит о неоптимальном дизайне приложения.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2008 IPS, Inc.