2010-01-25 2 views
21

Я хочу, чтобы иметь возможность преобразовать число строк, такое как «1,427.76», в число в coldfusion, но запятая делает его неудачным. Есть ли простой способ сделать это, кроме необходимости удалить запятую?Как преобразовать строковое представление числа в число в coldfusion?

<cfset string = "1,427.75"> 

<cfset number = string * 100> 

Ошибка при попытке выполнить на ней математические операции. Если запятая удалена, она работает нормально, но я получаю запятую из расчета базы данных.

ответ

43

Я знаю, что вы можете использовать LSParseNumber:

<cfset string = "1,427.75"> 

<cfset number = LSParseNumber(string) * 100> 
+0

Это отлично поработало, спасибо! –

+2

@Scott Chantry, если ответ деривации сработал для вас, не забудьте выбрать его как принятый ответ. :) – mwcz

8

Val() работает хорошо для простых преобразований, когда вы не заботитесь о местности, например, Val ('123.45')

+1

Использование Val работает только тогда, когда нет запятой. –

+0

легко фиксируется строкой = val (string.replaceAll ('[^ 0-9 \.] +', '')); –

+1

с использованием val() примерно в 2 раза быстрее, чем lsParseNumber() –