Попробуйте
#LSCurrencyFormat(LSParseNumber(unitprice),'local','#session.currencylocale#')#
Или это просто удалить запятые.
#LSCurrencyFormat(Replace(unitprice,",","","ALL"),'local','#session.currencylocale#')#
Если это не работает, вы можете использовать это, чтобы удалить все нечисловая дружественные символы из строки
#LSCurrencyFormat(ReReplace(unitprice,"[^0-9\.\-\+]","","ALL"),'local','#session.currencylocale#')#
Edit: Дэн прав насчет DecimalFormat, и, вероятно, прямо об этом являясь источником вашей ошибки (мы не знаем, что такое # unitprice #). При работе с числами всегда следите за тем, чтобы хранить их в простейшей форме и только # показывать # их с десятичными форматами и т. П., Если это ваше предпочтение.
Например, если у меня были пользователи, вводившие суммы, особенно денежные суммы, я бы использовал один из них, чтобы очистить посторонние символы, прежде чем вставлять сумму в базу данных.
И, конечно же, как отмечает Leigh в комментариях ниже, вы всегда должны хранить номера в соответствующих типах данных для вашего провайдера баз данных (такие как int и money). Вы должны захотеть сохранить 1099.42 вместо $ 1099.42 в поле и в соответствующем типе поля.
Не глядя, что вы можете сделать, я предполагаю, что LSCurrencyFormat ожидает число в качестве первого аргумента. Поскольку DecimalFormat возвращает строку, не используйте ее. –