我有一个将字符串转换为数字的函数
<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>
长度为 17,但在输入文本中,它在第一个字符处添加了额外的空格。我真的不知道如何删除多余的空白,当我添加 ToString(Trim())
<input type="Text" value="#ToString(Trim(convertToNumber(separator, separatorNumber[separator])))#">
它仍然有额外的空白
谢谢你