I have a function to convert a string to a number
<cffunction name="convertToNumber" returntype="numeric"> <cfargument name="separator" required="Yes" type="string" /> <cfargument name="number" required="Yes" type="string" /> <cfset LOCAL.arrSeparator = ["comma", "period", "lakh_crore"] /> <cfif ARGUMENTS.separator eq "comma" or ARGUMENTS.separator eq "lakh_crore"> <cfif ListLen(ARGUMENTS.number, ".") eq 2> <cfset LOCAL.integral = ListFirst(ARGUMENTS.number, ".") /> <cfset LOCAL.fractional = ListLast(ARGUMENTS.number, ".") /> <cfelse> <cfset LOCAL.integral = ARGUMENTS.number /> <cfset LOCAL.fractional = "" /> </cfif> <cfset LOCAL.integral = Replace(LOCAL.integral, ",", "", "ALL") /> <cfset LOCAL.returnValue = LOCAL.integral /> <cfif Len(Trim(LOCAL.fractional))> <cfset LOCAL.returnValue &= "." & LOCAL.fractional /> </cfif> </cfif> <cfif ARGUMENTS.separator eq "period"> <cfif ListLen(ARGUMENTS.number, ",") eq 2> <cfset LOCAL.integral = ListFirst(ARGUMENTS.number, ",") /> <cfset LOCAL.fractional = ListLast(ARGUMENTS.number, ",") /> <cfelse> <cfset LOCAL.integral = ARGUMENTS.number /> <cfset LOCAL.fractional = "" /> </cfif> <cfset LOCAL.integral = Replace(LOCAL.integral, ".", "", "ALL") /> <cfset LOCAL.returnValue = LOCAL.integral /> <cfif Len(Trim(LOCAL.fractional))> <cfset LOCAL.returnValue &= "." & LOCAL.fractional /> </cfif> </cfif> <cfreturn LOCAL.returnValue /> </cffunction> <cfset separatorNumber = StructNew() /> <cfset separatorNumber.comma = "1,234,567,890.123456"> <cfset separatorNumber.period = "1.234.567.890,123456"> <cfset separatorNumber.lakh_crore = "1,23,45,67,890.123456"> <cfloop collection="#separatorNumber#" item="separator"> <p> #separator# : <input type="Text" value="#convertToNumber(separator, separatorNumber[separator])#"> Length : #Len(convertToNumber(separator, separatorNumber[separator]))# </p> </cfloop>
length is 17, but extra char is added to the input text first. I really don't know how to remove the extra space, and when I add ToString (Trim ())
<input type="Text" value="#ToString(Trim(convertToNumber(separator, separatorNumber[separator])))#">
he still has extra free space
Thank you
coldfusion cfc
tsurahman
source share