:: Visual Foxpro, Foxpro for DOS
функция Val
glaz58
Автор

Сообщений: 812
Откуда: Воронеж
Дата регистрации: 09.02.2008
Уважаемые знатоки! Как получить значение с десятичными знаками из функции Val? Например, при set decimals to 5 val('1.075') выдаёт 1.00000. Как получить 1,075?
Ratings: 0 negative/0 positive
Re: функция Val
AndyNigmatec

Сообщений: 1573
Откуда: Волгоград
Дата регистрации: 28.06.2015
SET POINT TO ','
?val('1.075')

1,00000

SET POINT TO '.'
?val('1.075')

1.07500
Ratings: 0 negative/0 positive
Re: функция Val
Burn

Сообщений: 5643
Откуда: Днепр
Дата регистрации: 02.01.2002
Еще не забыть поставить нужное SET DECIMALS а то может округлить если текущее значение достаточно маленькое
Ratings: 0 negative/1 positive
Re: функция Val
akvvohinc

Сообщений: 4218
Откуда: Москва
Дата регистрации: 11.11.2008
Строковое представление числа должно быть с тем разделителем, который выставлен у вас в настройке SET POINT.
Иначе можно на лету подменять разделитель в строке на тот, что задан в настройке.

Например, если в строке могут встретиться следующие 3 разделителя - точка, запятая и дефис,то можно использовать такую универсальную команду:
? VAL(CHRT('1.075',[.,-],REPL(SET('POINT'),3)))
? VAL(CHRT('1,075',[.,-],REPL(SET('POINT'),3)))
? VAL(CHRT('1-075',[.,-],REPL(SET('POINT'),3)))
Ratings: 0 negative/1 positive
Re: функция Val
danton1973

Сообщений: 143
Откуда: Пермь
Дата регистрации: 10.08.2020
VAL(CHRT('-75',[.,-],REPL(SET('POINT'),3)))
преобразует в 0.75
Ratings: 0 negative/1 positive
Re: функция Val
glaz58
Автор

Сообщений: 812
Откуда: Воронеж
Дата регистрации: 09.02.2008
Спасибо, тема закрыта.
Ratings: 0 negative/0 positive
Re: функция Val
_vit

Сообщений: 5175
Дата регистрации: 29.07.2002
Burn
Еще не забыть поставить нужное SET DECIMALS а то может округлить если текущее значение достаточно маленькое

чтобы не парится с SET DECIMALS можно

? CAST("1.2345678" as N(5,3))
Ratings: 0 negative/0 positive
Re: функция Val
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Burn
Еще не забыть поставить нужное SET DECIMALS а то может округлить если текущее значение достаточно маленькое

Это очень крутая перестройка среды, вот точно. Как-то потребовалась - она перестраивает видеоизображение боксов с числом, страшное дело. В фоксе есть настройки, которые лучше не трогать, это одна из них. Есть нормальные ф-ии, STR()...
Ratings: 0 negative/0 positive
Re: функция Val
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
akvvohinc
Строковое представление числа должно быть с тем разделителем, который выставлен у вас в настройке SET POINT.
Иначе можно на лету подменять разделитель в строке на тот, что задан в настройке.

Например, если в строке могут встретиться следующие 3 разделителя - точка, запятая и дефис,то можно использовать такую универсальную команду:
? VAL(CHRT('1.075',[.,-],REPL(SET('POINT'),3)))
? VAL(CHRT('1,075',[.,-],REPL(SET('POINT'),3)))
? VAL(CHRT('1-075',[.,-],REPL(SET('POINT'),3)))

Это разве не громоздко?
Ratings: 0 negative/0 positive
Re: функция Val
akvvohinc

Сообщений: 4218
Откуда: Москва
Дата регистрации: 11.11.2008
of63
Это разве не громоздко?
Нельзя просто поменять SET POINT и не восстановить его.
Я предложил вариант, не требующий сохранения/восстановления этой настройки.
(ну, и я исходил из предложения, что данные сторонние, и и каким именно будет разделитель, точно сказать нельзя).

Возможно, есть способы и попроще, я особо не искал - предложи!



Исправлено 1 раз(а). Последнее : akvvohinc, 28.03.23 23:11
Ratings: 0 negative/0 positive
Re: функция Val
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
ВОПРОС ПРОСТОЙ (он прдемет простой)) - этот СЕТ не влияет не на что кроме ИЗОБРАЖЕНИЯ на экране (может, на ф-ию TRANSFORM)... Поймите меня правильно, фокс в вашем распоряжении уже давно )

кстати! о писанине!, прищел шкаольник, абсольтно не програме, вот научи промаи1ству, в частности питону (щзас моден), получилась нормалтная прогаЮ и питон, на 30% посимпатичнее стал...


какая разница, на чем писать, пиши на чем умеешь

() если водишь машину как бох - ну и води, стрижещь красиво - стриги... И т.д. В "науке" немного сложжнее выживание , - чтото не умеешь - проси "гранты", что-то умеешь - вали в Америку.

Надеюсть, что Пу переменит. Если кто пистнет про Ба, то отвечу, при желании



Исправлено 5 раз(а). Последнее : of63, 28.03.23 23:48
Ratings: 2 negative/0 positive
Re: функция Val
akvvohinc

Сообщений: 4218
Откуда: Москва
Дата регистрации: 11.11.2008
of63
этот СЕТ не влияет не на что кроме ИЗОБРАЖЕНИЯ на экране
Этот SET влияет на функции преобразования числа в строку (STR, TRAN) и на обратные операции (данная тема тому пример).
Вариантов применения результата можно назвать несколько, и вывод на экран - самый безобидный случай, который хотя бы к ошибке не приводит.

Она же влияет и на ввод чисел.

Так что попробуй - измени в своей программе эту настройку (с точки на запятую, или наоборот), а потом расскажешь, какие новые слова ты узнал, общаясь со своими пользователями.

Цитата:
какая разница, на чем писать, пиши на чем умеешь
Если умеешь только на чем-то одном, то - да.
Иначе выбор языка во многом зависит от задачи.



Исправлено 1 раз(а). Последнее : akvvohinc, 29.03.23 00:55
Ratings: 0 negative/2 positive
Re: функция Val
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
> выбор языка во многом зависит от задачи.

Зависит от разраба, на чем он будет решать, после торга за цену...

Однозначно заранее выбрать ЯП нереально, тем более фре1мверк над ним

Обычная война среди ЯП...

> Если умеешь только на чем-то одном, то - да
То да... ну, я еще учил другие ЯП, и что-то писал рабочее...



Исправлено 1 раз(а). Последнее : of63, 08.04.23 19:23
Ratings: 0 negative/0 positive
Re: функция Val
akvvohinc

Сообщений: 4218
Откуда: Москва
Дата регистрации: 11.11.2008
of63
Однозначно заранее выбрать ЯП нереально
Что значит "заранее"?

Ты имеешь техническое задание, изучил его и в равной степени владеешь несколькими языками.
В какой момент ты собираешься сделать выбор?
Ratings: 0 negative/0 positive
Re: функция Val
sphinx

Сообщений: 31179
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
Когда на фоксе написал пол-задачи. Вот тогда и задумался, а какой язык выбрать.


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: функция Val
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
akvvohinc
of63
Однозначно заранее выбрать ЯП нереально
Что значит "заранее"?

Ты имеешь техническое задание, изучил его и в равной степени владеешь несколькими языками.
В какой момент ты собираешься сделать выбор?

Когда ты читаешь ТЗ, ты уэе знаешь что ты уммеешь, и умение в других ЯП, и способность "освоить", срокА и суммы)

Ты думаешь, что можешь бегло (за полгода-год) писать на любом ЯП?



Исправлено 1 раз(а). Последнее : of63, 04.05.23 21:51
Ratings: 0 negative/0 positive
Re: функция Val
akvvohinc

Сообщений: 4218
Откуда: Москва
Дата регистрации: 11.11.2008
Цитата:
Ты думаешь, что можешь бегло (за полгода-год) писать на любом ЯП?
Если речь обо мне, то нет, я не смогу.
Но возможно, что такие люди и есть.

Но в моем ответе я подразумевал, что человек уже владеет двумя или более языками в равной степени, чтобы этот фактор в расчет не брать - о полугоде/годе на освоение речи не было.
Ratings: 0 negative/0 positive
Re: функция Val
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Тогда что означает фраза:
> Иначе выбор языка во многом зависит от задачи.
() Т.е. есть масса ЯП, и они отличаются применимостью и не применимостью к "задаче". Ну, Ассемблер (конкретного процессора) применим, и другие ассемблеры тоже... и ?

() "Цикл" в любом "ЯП" не могут ... не то, что написать, обьяснить словами, эта наша детвора не способна... мата не хватает
ДаЮ правильно сказал, мат. образования. Програмерство - это следствие мат. представлений о процессах в мире

()() про абелеву/неабелеву математику не спрашиваю.



Исправлено 3 раз(а). Последнее : of63, 07.05.23 23:22
Ratings: 0 negative/0 positive
Re: функция Val
akvvohinc

Сообщений: 4218
Откуда: Москва
Дата регистрации: 11.11.2008
Цитата:
Т.е. есть масса ЯП, и они отличаются применимостью и не применимостью к "задаче". Ну, Ассемблер (конкретного процессора) применим, и другие ассемблеры тоже... и ?
Ну, тогда представь, что ты в совершенстве владеешь Фоксом, Ассемблером, Си и 1C.
Свои текущие задачи ты бы на чем начал писать, если бы имел только ТЗ?
А FIFA 23 или Chess AI?
Ratings: 0 negative/0 positive
Re: функция Val
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
На фоксе, потому что КАКАЯ РАЗНИЦА

...
Но могу НАЧАТЬ на любом ЯП, ...
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 31 (Гостей: 31)

© 2000-2024 Fox Club 
Яндекс.Метрика