[oodisc] Data Types in OOo Basic
Vladimir Bukhal
vbux на artmed.ru
Ср Окт 15 11:42:00 MSD 2003
Добрый день.
AK> В процессе работы над макросами "Сумма прописью"
AK> обнаружился следующий неприятный глюк. Если у нас
AK> система русифицированная, то, значит, в качестве
AK> разделителя десятичной дроби используется запятая
AK> (даже в нелокализованном OOo).
AK> Проблема возникает, если нужно преобразовать *строку*,
AK> содержащую десятичную дробь, в числовое значение. Функция
AK> Val () в таком случае не работает -- жалуется на то,
AK> что это не число. А функции преобразования
AK> типов (CSng, CDbl) хоть и работают, но всегда возвращают
AK> только целую часть. А это значит, что вставка суммы
AK> прописью в текстовый документ всегда будет игнорировать
AK> копейки (ну разве что мы запишем число с точкой -- тогда
AK> можно его обработать при помощи Val ()).
Это, конечно, неверно. Я все же думаю, что стоит поменять запятые на
точки для сохранения функциональности.
Для 1.1 можно записать одну строку
sTestString = join(split(sTestString,","),".")
Более универсально
pos = instr(sTestString,",")
If pos<>0 Then mid(sTestString,pos,1,".")
AK> Думаю создать issue. Сталкивался кто-нибудь с этим?
Наверное, это оправдано.
С уважением,
Владимир <vbux на artmed.ru>
Подробная информация о списке рассылки Oo-discuss