Помощник
Здравствуйте, гость ( Вход | Регистрация )
|
|
8:05:2008, 04:02
|
|
Продвинутый ![]() ![]() Группа: Программист Сообщений: 163 Регистрация: 28:08:2007 Из: Алматы Пользователь №: 12 496 Специализация: Программист Репутация: 0
|
сабж
|
|
Сообщение
#1
|
|
![]() |
|
|
8:05:2008, 04:09
|
|
очень злой модератор ![]() ![]() ![]() ![]() ![]() Группа: Lotus team Сообщений: 2 666 Регистрация: 7:08:2006 Из: Украина, Киев Пользователь №: 5 807 Специализация: разработчик всякой хрени Репутация: 46
|
IsNumeric function
Tests the value of an expression to determine whether it is numeric, or can be converted to a numeric value. |
|
Сообщение
#2
|
|
|
|
8:05:2008, 04:22
|
|
Продвинутый ![]() ![]() Группа: Программист Сообщений: 163 Регистрация: 28:08:2007 Из: Алматы Пользователь №: 12 496 Специализация: Программист Репутация: 0
|
Код If Isnumeric(s1) Then If Len(s1)=4 Then '=я здесь должен проверить что s1 именно интеджер а не какой нибудь дабл end if end if или как узнать что валью именно год:то есть 4 значный интнджер |
|
Сообщение
#3
|
|
|
|
8:05:2008, 04:27
|
|
очень злой модератор ![]() ![]() ![]() ![]() ![]() Группа: Lotus team Сообщений: 2 666 Регистрация: 7:08:2006 Из: Украина, Киев Пользователь №: 5 807 Специализация: разработчик всякой хрени Репутация: 46
|
If Len(s1)=4 Then мЫсль правильная, но немного не дочитали хэлп инетжер - переменная с 2-byte и её пределы -32768 to 32767 (включительно) так что проверить надо на байты в кол-ве 2х штук и/или на пределы (см. выше) именно год:то есть 4 значный интнджер Len(Cstr(s1)) = 4 или по пределам ( 1900 < s1 < 2100 ) |
|
Сообщение
#4
|
|
|
|
8:05:2008, 04:46
|
|
Продвинутый ![]() ![]() Группа: Программист Сообщений: 163 Регистрация: 28:08:2007 Из: Алматы Пользователь №: 12 496 Специализация: Программист Репутация: 0
|
|
|
Сообщение
#5
|
|
|
|
8:05:2008, 04:58
|
|
Что это ? :) ![]() ![]() ![]() ![]() ![]() Группа: Lotus team Сообщений: 2 126 Регистрация: 10:12:2004 Из: Россия, Калуга Пользователь №: 1 144 Репутация: 71
|
Ну так переведи обратно в число и посмотри целое ли оно.
|
|
Сообщение
#6
|
|
|
|
8:05:2008, 06:09
|
|
очень злой модератор ![]() ![]() ![]() ![]() ![]() Группа: Lotus team Сообщений: 2 666 Регистрация: 7:08:2006 Из: Украина, Киев Пользователь №: 5 807 Специализация: разработчик всякой хрени Репутация: 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 |
|
Сообщение
#7
|
|
|
|
8:05:2008, 06:21
|
|
Кто здесь? ![]() ![]() ![]() ![]() Группа: Достойный программист Сообщений: 710 Регистрация: 4:07:2007 Из: Латвиджа, Рига Пользователь №: 11 685 Специализация: Специализация: Репутация: 28
|
Можно ещё посмотреть в сторону ф-ии TypeName + пара проверок.
|
|
Сообщение
#8
|
|
|
|
8:05:2008, 07:05
|
|
Продвинутый ![]() ![]() Группа: Программист Сообщений: 163 Регистрация: 28:08:2007 Из: Алматы Пользователь №: 12 496 Специализация: Программист Репутация: 0
|
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 Сообщение отредактировал yerke - 8:05:2008, 07:10 |
|
Сообщение
#9
|
|
|
|
8:05:2008, 07:21
|
|
очень злой модератор ![]() ![]() ![]() ![]() ![]() Группа: Lotus team Сообщений: 2 666 Регистрация: 7:08:2006 Из: Украина, Киев Пользователь №: 5 807 Специализация: разработчик всякой хрени Репутация: 46
|
|
|
Сообщение
#10
|
|
|
|
8:05:2008, 07:43
|
|
Гуру ![]() ![]() ![]() Группа: Достойный программист Сообщений: 279 Регистрация: 20:12:2006 Пользователь №: 8 527 Специализация: PCLP Репутация: 4
|
... Просто так, мимо проходил:
ИМХО уже то, что год получаете как строку, говорит о неоптимальном дизайне приложения. |
|
Сообщение
#11
|
|
![]() |
|
Текстовая версия | Сейчас: 17:05:2008 - 06:59 |