powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Вопросы новичков
25 сообщений из 213, страница 1 из 9
Вопросы новичков
    #37829073
Darkhan Darkhan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как определить в Методе класса определить: является ли переменная переменной целочисленного типа.
Например, считал строку: "123" -число. "123а"-строка.

Кроме этого:
авторs str="123"
s dum=str+1, dum=dum-1
i dum=str w "4islo"


P.S. Давайте все простые вопросы в одну тему.
...
Рейтинг: 0 / 0
Вопросы новичков
    #37829097
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Darkhan Darkhan ,

$ISVALIDNUM
...
Рейтинг: 0 / 0
Вопросы новичков
    #37829137
Darkhan Darkhan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit Darkhan Darkhan ,

$ISVALIDNUM

Спасибо большое.
...
Рейтинг: 0 / 0
Вопросы новичков
    #37829329
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Darkhan DarkhanКак определить в Методе класса определить: является ли переменная переменной целочисленного типа.
Например, считал строку: "123" -число. "123а"-строка.
Как вариант...

Код: vbnet
1.
2.
s val=123
w $s(+val=val:"число",1:"строка")
...
Рейтинг: 0 / 0
Вопросы новичков
    #37829460
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa ,

Случаи бывают разные:set val="+1"
w $s(+val=val:"число",1:"строка"),!

set val="1e2"
w $s(+val=val:"число",1:"строка"),!

set val="001"
w $s(+val=val:"число",1:"строка"),!
Код: plaintext
1.
2.
3.
USER>d ^test
строка
строка
строка
...
Рейтинг: 0 / 0
Вопросы новичков
    #37829695
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Число в Cache может пониматься по-разному, например, есть понятие канонического числа , вариант от krvsa проверяет как раз это. Неизвестно, чего хотел Дархан.

Кстати, без внимания осталась проверка на целочисленность. Можно проверить так:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
if $$ValidNumber(str, can) && '$f(str,".") { число целое }
  // или так:
if $$ValidNumber(str, can) && str?.N { число целое }
...
ValidNumber(str, can=0) ; can=1 - проверка на каноническое число
 if can q str=+str
 q $ISVALIDNUM(str)
...
Рейтинг: 0 / 0
Вопросы новичков
    #37829700
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опечатался:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
if $$ValidNumber(str, can) && '$f(+str,".") { число целое }
  // или так:
if $$ValidNumber(str, can) && +str?.N { число целое }
...
ValidNumber(str, can=0) ; can=1 - проверка на каноническое число
 if can q str=+str
 q $ISVALIDNUM(str)
...
Рейтинг: 0 / 0
Вопросы новичков
    #37829706
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что за день сегодня??? :)
Код: javascript
1.
2.
3.
4.
5.
6.
7.
if $$ValidNumber(str, can) && '$f(+str,".") { число целое }
  // или так:
if $$ValidNumber(str, can) && (+str?.N) { число целое }
...
ValidNumber(str, can=0) ; can=1 - проверка на каноническое число
 if can q str=+str
 q $ISVALIDNUM(str)
...
Рейтинг: 0 / 0
Вопросы новичков
    #37830299
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey MaslovНеизвестно, чего хотел Дархан.
Вот и я про то же...
Иногда не стоит усложнять простую задачу.
...
Рейтинг: 0 / 0
Вопросы новичков
    #37831460
AlexKB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov,
А если str=123.00
...
Рейтинг: 0 / 0
Вопросы новичков
    #37831513
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexKB, что не так?

Код: sql
1.
2.
3.
4.
w $$IsInteger("123.00") ; целое? да
1
w $$IsInteger("123.00", 1)  ; каноническое целое? нет
0


Код: javascript
1.
2.
3.
4.
5.
6.
7.
IsInteger(str, can=0) 
        // if can=0, проверка на целое число
        // if can=1, проверка на каноническое целое число
	q $$IsValidNumber(str, can) && '$f(+str,".")
IsValidNumber(str, can=0)
	if can q str=+str
	q $ISVALIDNUM(str)
...
Рейтинг: 0 / 0
Вопросы новичков
    #37831729
AndrewQwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А еще можно таким образом:

Код: c#
1.
2.
set str="123"
set isNumbersOnly=str?1.N
...
Рейтинг: 0 / 0
Вопросы новичков
    #37832276
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrewQwer,

Правильнее было бы написать:

set is Digits Only=str?1.N

т.к. такую проверку не пройдут, например, отрицательные целые числа.
...
Рейтинг: 0 / 0
Вопросы новичков
    #37833280
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Darkhan DarkhanКак определить в Методе класса определить: является ли переменная переменной целочисленного типа.
Например, считал строку: "123" -число. "123а"-строка.

Кроме этого:
авторs str="123"
s dum=str+1, dum=dum-1
i dum=str w "4islo"


P.S. Давайте все простые вопросы в одну тему.
В языке MUMPS существует собственная трактовка что является числом ( кратенько тут ) или каноническим числом. При этом в прикладных задачах зачастую вопросы "является ли строка числом" опираются на другие правила. Например, допускаются завершающие нули для дробных или разделители тысячных. В этом случае самым лучшим вариантом является перечисление этих правил и составление для них шаблона проверки. Так что ответ сводится к обратному вопросу - перечислите что в Вашем варианте означает "является числом". Под эти правила и надо составить шаблон.
...
Рейтинг: 0 / 0
Вопросы новичков
    #37833958
AndrewQwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey MaslovAndrewQwer,

Правильнее было бы написать:

set is Digits Only=str?1.N

т.к. такую проверку не пройдут, например, отрицательные целые числа.

А в шаблон можно произвольные символы вставлять. Например:

Код: c#
1.
str?.1"-"1.N1(1"."1.N,.N)



Описывает как отрицательное число, так и число с точкой, после которой должна следовать хоть одна цифра.
...
Рейтинг: 0 / 0
Вопросы новичков
    #37836018
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrewQwer,

и это тоже не отвечает на исходный вопрос о проверке "является ли переменная переменной целочисленного типа".
Ваш шаблон наиболее близок к решению более общей задачи: является ли число каноническим, но даже ее он решает неверно, т.к. пропускает числа с лидирующими нулями: "0000.123", и напротив, не пропускает числа без лидирующих нулей: ".123".
В вашем случае можно сделать шаблон ещё сложнее и добиться правильного решения, но чем это будет лучше классической конструкции "if x=+x { }"?
Как показывает опыт, написать сложную проверку, использую только "?", конечно, можно, но муторно и приводит к медленному и трудно читаемому коду. Обычно проще и эффективней сочетать ее с функциями поиска и/или преобразования строк.
...
Рейтинг: 0 / 0
Вопросы новичков
    #37847744
Bezuma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть пару вопросиков:
1. Где можно посмотреть логи Cache' и что там вообще может быть написано...
2. Как собрать статистику по использованным лицензиям по дням и может даже времени, может это хранится в каком-то логе?
...
Рейтинг: 0 / 0
Вопросы новичков
    #37847849
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BezumaГде можно посмотреть логи Cache'
Например поиском... Ищи в каталоге InterSystems все файлы *.log
...
Рейтинг: 0 / 0
Вопросы новичков
    #37847902
Bezuma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaBezumaГде можно посмотреть логи Cache'
Например поиском... Ищи в каталоге InterSystems все файлы *.log
Но это-то я сделал,получил список файлов, но вот в этом я что-то не смог разобраться:
journal.log, там такие строчки:

С:\intersystems\cache\mgr\journal\20120606.001,1-7,60909F65-204A-4A5F-915C-2883AB5EF284,728D51E6-D792-4759-8105-2CAF38C4CF9D,2012-06-05 21:00:00,6,7573035
...
Рейтинг: 0 / 0
Вопросы новичков
    #37847917
Bezuma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,
Но для меня сейчас очень важно найти статистику по использованию лицензий.....
...
Рейтинг: 0 / 0
Вопросы новичков
    #37848059
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bezumakrvsa,
Но для меня сейчас очень важно найти статистику по использованию лицензий.....
статистика по использованию лицензии не ведется
из остальных логов cconsole.log, основной log-файл куда пишутся сообщения при старте/останове и серьезные ошибки Cache
...
Рейтинг: 0 / 0
Вопросы новичков
    #37848067
Bezuma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMorBezumakrvsa,
Но для меня сейчас очень важно найти статистику по использованию лицензий.....
статистика по использованию лицензии не ведется
А может можно как-то сделать, что бы она велась, написать что-то или запустить, я думаю что это очень актуальный вопрос для многих, и я думаю что многие до меня его уже решили?
...
Рейтинг: 0 / 0
Вопросы новичков
    #37848125
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в портале на странице Системная информация, есть показатель максимально используемое количество и текущее, для многих этого достаточно
а логировать самому конечно можно, ничего сложного, запустите фоновый процесс который будет читать информацию об используемых лицензиях для этого поможет класс %SYSTEM.License . при обращении к этому классу можно вместо ##class(%SYSTEM.License) использовать $system.License
...
Рейтинг: 0 / 0
Вопросы новичков
    #37849773
Bezuma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMorв портале на странице Системная информация, есть показатель максимально используемое количество и текущее, для многих этого достаточно
а логировать самому конечно можно, ничего сложного, запустите фоновый процесс который будет читать информацию об используемых лицензиях для этого поможет класс %SYSTEM.License . при обращении к этому классу можно вместо ##class(%SYSTEM.License) использовать $system.License

А не могли бы текст хотя бы примерный привести, а то нужно было уже вчера, а у мня чего-то не получается....
...
Рейтинг: 0 / 0
Вопросы новичков
    #37849786
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bezuma,

А че тут думать? Наливай да пей!
Код: vbnet
1.
f {w !,$zdt($h,3,1)," используется лицензий: ", $system.License.LUConsumed() h 1}
...
Рейтинг: 0 / 0
25 сообщений из 213, страница 1 из 9
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Вопросы новичков
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]