Автор | Сообщение |
|
| постоянный участник
|
Пост 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?
|
|
|
Ответов - 5
[только новые]
|
|
|
| moderator
|
Пост N: 393
Зарегистрирован: 11.02.10
|
|
Отправлено: 28.06.12 16:01. Заголовок: Dr. Oldwarez пишет: ..
Dr. Oldwarez пишет: цитата: | Почему TBROWSE поддерживает только американский формат числа? |
| Начну с того, что TBROWSE использует для ввода данных элемент управления GetBox, который, в свою очередь, опирается на стандартный Get объект Харбора. Следовательно, если хотите изменить формат поля ввода, то имеет смысл вспомнить/изучить стандарный клипперовский класс Picture. После этого приходим к решению проблемы: надо использовать команду "@E " в маске ввода, т.е. указать
|
|
|
|
| постоянный участник
|
Пост N: 209
Зарегистрирован: 27.07.08
|
|
Отправлено: 28.06.12 16:51. Заголовок: Большое спасибо! Дей..
Большое спасибо! Действительно, PICTURE "@E 999,999.99" выводит числа в немецком (румынском, албанском) формате 123.524,57 Ну, а для русско-французского формата с пробелами какую команду надо использовать? Вот тут подробно Форматы числа по странам мира
|
|
|
|
| |
Пост N: 2422
Зарегистрирован: 17.05.05
|
|
Отправлено: 28.06.12 17:48. Заголовок: Dr. Oldwarez пишет: ..
Dr. Oldwarez пишет: цитата: | Ну, а для русско-французского формата с пробелами какую команду надо использовать? |
| picture "@E 999 999.99" picture "@R 999 999.99"
|
|
|
|
| постоянный участник
|
Пост N: 210
Зарегистрирован: 27.07.08
|
|
Отправлено: 29.06.12 15:19. Заголовок: Огромное спасибо!..
Огромное спасибо!
|
|
|
|
| постоянный участник
|
Пост 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
|
|
|
|