powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как перевести симв. 100000000034 в число, добавить 1 и перевести назад в симв?
7 сообщений из 7, страница 1 из 1
как перевести симв. 100000000034 в число, добавить 1 и перевести назад в симв?
    #33758702
Yura Zavaliy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поле должно быть символьное... с длинным числом....
я пишу
sele test
idd=val(test.id)

scatter memvar
append blank
gather memvar fields except id
replace test.id with str(idd+1)
thisform.refresh
thisform.txtid.setfocus


и получаю 1,000E+11 ....
как победить можно? спасибо!
...
Рейтинг: 0 / 0
как перевести симв. 100000000034 в число, добавить 1 и перевести назад в симв?
    #33758719
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
replace test.id with left(test.id,len(test.id)-1)+transform(val(right(test.id,1))+1)
...
Рейтинг: 0 / 0
как перевести симв. 100000000034 в число, добавить 1 и перевести назад в симв?
    #33758733
Yura Zavaliy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksMedreplace test.id with left(test.id,len(test.id)-1)+transform(val(right(test.id,1))+1)

ясно..а как де сделать переход на десятку типа с 0009 на 0010?... или
с ...0099999 все позиции анализировать?... может есть путь проще?...
...
Рейтинг: 0 / 0
как перевести симв. 100000000034 в число, добавить 1 и перевести назад в симв?
    #33758741
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Замени в своём коде STR() на TRANSFORM() и всё будет нормаольно.
...
Рейтинг: 0 / 0
как перевести симв. 100000000034 в число, добавить 1 и перевести назад в симв?
    #33758778
Yura Zavaliy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksMedЗамени в своём коде STR() на TRANSFORM() и всё будет нормаольно.

ШАМАН! :) ОГРОМНОЕ СПАСИБО, преклоняю шляпу!
...
Рейтинг: 0 / 0
как перевести симв. 100000000034 в число, добавить 1 и перевести назад в симв?
    #33758788
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
STR() тож годится, но тогда нужно указывать второй параметр и третий = 0.
...
Рейтинг: 0 / 0
как перевести симв. 100000000034 в число, добавить 1 и перевести назад в симв?
    #33758793
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если все-таки сделать над собой усилие и прочитать HELP , то окажется, что у функции STR() есть еще 2 параметра, которые определяют сколько знаков будет иметь символьная строка. Если эти два параметра не указаны, то, по умолчанию, предполагается, что результирующая строка будет иметь 10 знаков.

Проверь:

Код: plaintext
1.
2.
3.
aa =  100000000034 
?STR(m.aa)
?STR(m.aa, 20 )

Только следует иметь в виду, что FoxPro поддерживает точность расчета до 16 значащих цифр (точнее, до 15.7). Это значит, что если число содержит более 16 знаков, то достоверными из них будут только первые 16. Остальные будут заполнены случайным образом или нулями.

Код: plaintext
1.
2.
3.
aa =  1000000000340005678 
?STR(m.aa)
?STR(m.aa, 20 )
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как перевести симв. 100000000034 в число, добавить 1 и перевести назад в симв?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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