[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