Думается так:
Посмотрим на всю подфункцию str2con:
PHP код:
void add2Ret(str _current)
{
if (match('<:d', _current))
ret += str2int(_current);
else
ret += _current;
}
PHP код:
if (match('<:d', _current))
Т.е. если строка - это текстовое представление числа, то записываем это число, причем почему-то только int ... Но тогда уж надо было, скажем, использовать функцию определения типа данных (по аналогии с str2NumOK).
Таким образом, это больше смахивает на недоработку, ну и как следствие ошибку - да.
Полностью поддерживаю
Цитата:
// ret += str2int(_current);
+решается использованием функции
str2con_RU
Благими намерениями дорога в ад выстлана ...