powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Преобразование символьную строку в числовую
11 сообщений из 11, страница 1 из 1
Преобразование символьную строку в числовую
    #35742367
Kulakov Oleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всех с наступающим.
Имеется символьная строка. Как преобразовать в числовую, без обобщения?

st="53,12"
?val(st)
выдает 53,00
...
Рейтинг: 0 / 0
Преобразование символьную строку в числовую
    #35742372
VictorSK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Посмотрите какой у Вас разделитель в настройках ',' или '.'. Скорее всего '.'
Попробуйте 'st="53.12"'. val() преобразует все нормально.
...
Рейтинг: 0 / 0
Преобразование символьную строку в числовую
    #35742376
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kulakov OlegВсех с наступающим.
Имеется символьная строка. Как преобразовать в числовую, без обобщения?

st="53,12"
?val(st)
выдает 53,00
Насчет запятой не описались? Может точка?
Если нет, то можно и так: VAL(STRTRAN(st, ',','.'))
или так:
SET POINT TO ','
? VAL(st)
SET POINT TO
С уважением, Алексей.
...
Рейтинг: 0 / 0
Преобразование символьную строку в числовую
    #35742400
Kulakov Oleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините новичка за ошибку, там точка.
'53.12'
?val('53.12')
возвращает 53, а мне надо 53.12
...
Рейтинг: 0 / 0
Преобразование символьную строку в числовую
    #35742422
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kulakov OlegИзвините новичка за ошибку, там точка.
'53.12'
?val('53.12')
возвращает 53, а мне надо 53.12
А что возвращает ? SET("Decimals")
С уважением, Алексей
...
Рейтинг: 0 / 0
Преобразование символьную строку в числовую
    #35742435
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я один раз свою функцию написал и ей пользуюсь
Код: plaintext
1.
2.
3.
4.
* Преобразование строки в число независимо от разделителя
func ValWithPoint
lpara lcT
return val(chrtran(lcT, ',.', set('point') + set('point')))
...
Рейтинг: 0 / 0
Преобразование символьную строку в числовую
    #35742481
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЯ один раз свою функцию написал и ей пользуюсь
Код: plaintext
1.
2.
3.
4.
* Преобразование строки в число независимо от разделителя
func ValWithPoint
lpara lcT
return val(chrtran(lcT, ',.', set('point') + set('point')))

И спасает от SET DECIMALS TO 0 ? :)
С уважением, Алексей
...
Рейтинг: 0 / 0
Преобразование символьную строку в числовую
    #35742528
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-KИ спасает от SET DECIMALS TO 0 ? :)
А чего от него спасать? Этот SET только для вывода. На расчеты никак не влияет.
Код: plaintext
1.
2.
3.
4.
SET DECIMALS TO  0 
q = ValWithPoint('123.45678')
? q  && = 123 
? str(q,  12 ,  5 )  && = 123 . 45678 
...
Рейтинг: 0 / 0
Преобразование символьную строку в числовую
    #35742531
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TAleksey-KИ спасает от SET DECIMALS TO 0 ? :)
А чего от него спасать? Этот SET только для вывода. На расчеты никак не влияет.
Код: plaintext
1.
2.
3.
4.
SET DECIMALS TO  0 
q = ValWithPoint('123.45678')
? q  && = 123 
? str(q,  12 ,  5 )  && = 123 . 45678 

В вы вопрос почитайте внимательно Kulakov Oleg.
У него именно при выводе на экран нет дробной части!
С уважением, Алексей
...
Рейтинг: 0 / 0
Преобразование символьную строку в числовую
    #35742538
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-KВ вы вопрос почитайте внимательно Kulakov Oleg.
У него именно при выводе на экран нет дробной части!
Упс ... Тогда явно форматировать надо через STR()
Код: plaintext
1.
st="53,12"
? str(val(st),  10 ,  2 )
...
Рейтинг: 0 / 0
Преобразование символьную строку в числовую
    #35742553
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TAleksey-KВ вы вопрос почитайте внимательно Kulakov Oleg.
У него именно при выводе на экран нет дробной части!
Упс ... Тогда явно форматировать надо через STR()
Код: plaintext
1.
st="53,12"
? str(val(st),  10 ,  2 )

А если почитать его следующее сообщение...
С уважением, Алексей
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Преобразование символьную строку в числовую
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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