Показать сообщение отдельно
Старый 25.09.2007, 14:12   #10  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,971 / 3267 (116) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Может имеет смысл положить в глобал такую функцию ?

X++:
  // стандартная функция str2num() криво обрабатывает строки с запятой в качестве
  // десятичной точки - просто отбрасывает дробную часть
  // видимо аксапта ожидает точку в качестве разделителя разрядов.

  // этот метод нормально справляется с запятой
static real GRD_Str2Num(str     s)
{
    int         pos;
    real        locAmount;
    #define.from(',')
    #define.to('.')
    ;

    pos = 0;
    do
    {
        pos = StrScan(s, #from , pos + 1, strlen(s));
        if (pos)
        {
            //s = StrDel(s, pos, strLen(#from));
            s = StrPoke(s, #to, pos);
        }

    } while(pos != 0);

    s = strRem(s, ' ');  // убрали еще всякие долбанные разделители, например пробелы, которые любит Excel ставить pkoz 27.02.2007

    locAmount = Str2Num(s);
    return locAmount;
}