On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 208
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 27.06.12 23:58. Заголовок: Различные форматы числа в TBROWSE


Как известно, в разных странах числа имеют разный формат.
Так в Америке дробная часть отделяется точкой, а тысячи разделяются запятыми
123,524.57
В Германии дробная часть отделяется запятой, а тысячи разделяются точками
123.524,57
Ну, а в России дробная часть также отделяется запятой, а тысячи разделяются пробелами.

Вопрос:
Почему TBROWSE поддерживает только американский формат числа?
Так, я задаю числовому полю параметр PICTURE '999,999,999.99', и получаю на выходе число с тысячными разделителями, но только американского формата. При попытке же указать PICTURE '999.999.999,99' получается какой-то бред. Попробовал порыться в SET - там только SET DATE есть. Не подскажете, как настроить формат вывода числа в TBROWSE?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 5 [только новые]


moderator




Пост N: 393
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 28.06.12 16:01. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Почему TBROWSE поддерживает только американский формат числа?


Начну с того, что TBROWSE использует для ввода данных элемент управления GetBox, который, в свою очередь, опирается на стандартный Get объект Харбора.
Следовательно, если хотите изменить формат поля ввода, то имеет смысл вспомнить/изучить стандарный клипперовский класс Picture. После этого приходим к решению проблемы: надо использовать команду "@E " в маске ввода, т.е. указать

 цитата:
PICTURE "@E 999,999.99"



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 209
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 28.06.12 16:51. Заголовок: Большое спасибо! Дей..


Большое спасибо! Действительно, PICTURE "@E 999,999.99" выводит числа в немецком (румынском, албанском) формате 123.524,57

Ну, а для русско-французского формата с пробелами какую команду надо использовать?

Вот тут подробно Форматы числа по странам мира

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2422
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.06.12 17:48. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Ну, а для русско-французского формата с пробелами какую команду надо использовать?



picture "@E 999 999.99"
picture "@R 999 999.99"

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 210
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 29.06.12 15:19. Заголовок: Огромное спасибо!..


Огромное спасибо!

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 211
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 02.07.12 21:41. Заголовок: И ещё один нюанс, не..


И ещё один нюанс, не зная которого, можно наделать ошибок. Поскольку у меня общие суммы хранятся в текстовом виде в подвале TBROWSE, необходимо их обратно конвертировать в числовой формат. Для этого я использую функцию VALN(cStr)

FUNCTION VALN(cStr) 
LOCAL nVal:=0
cStr:=STRTRAN(cStr,'.','') //вырезаем тысячные разделители - здесь для европейского формата
cStr:=STRTRAN(cStr,',','.') // заменяем запятую на точку в разделителе дроби
nVal:=VAL(cStr)
RETURN nVal



Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 557
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет