Строку в число

Обсуждение программ nnCron и nnCron LITE

Строку в число

Postby spronkin » Wed, 17 Feb 2016, 05:00

Помогите с ламерским вопросом: не могу разобраться как корректно переводить строку в число. Почему, если я делаю:
Code: Select all
100 N>S S>NUM
 Ok ( 100 )
DROP

все в порядке, а если:
Code: Select all
100 N>S
 Ok ( 74520599 3 )
S>NUM
 Ok ( 59 )

или такой же случай:
Code: Select all
S" 2891" S>NUM
 Ok ( 2891 )
DROP
 Ok
S" 2891"
 Ok ( 74521643 4 )
S>NUM
 Ok ( 0 )

Почему после ввода строки на консоль при попытке перевода ее в число получаем совсем другое число?
User avatar
spronkin
 
Posts: 86
Joined: Sun, 15 Jan 2012, 13:56

Re: Строку в число

Postby AlikasS » Wed, 17 Feb 2016, 06:47

User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Строку в число

Postby VoidVolker » Wed, 17 Feb 2016, 09:59

Правильнее так:
Code: Select all
S" 2891" S>NUM

Все дело в том, что строковые литералы в режиме интерпретации не копируются куда-либо еще, а остаются в буфере входного потока. И каждая новая строка перезаписывает данный буфер, поэтому надо либо скопировать строку куда-либо еще либо использовать её в той же строке.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 4 guests