如何在ColdFusion中将数字的字符串表示转换为数字?

26

我想要把一个字符串数字(例如"1,427.76")转换成ColdFusion中的数字,但是逗号使得转换失败了。除了去掉逗号之外,是否有更简单的方法可以做到这一点?

<cfset string = "1,427.75">

<cfset number = string * 100>

当尝试对其执行数学运算时,会出现错误。如果去掉逗号,则可以正常工作,但是我从数据库计算中获取逗号。

2个回答

53

我知道你可以使用LSParseNumber:

<cfset string = "1,427.75">

<cfset number = LSParseNumber(string) * 100>

2
@Scott Chantry 如果 Derivation 的回答对您有帮助,请不要忘记将其选择为被采纳的答案。 :) - mwcz

10

如果您不关心地区设置,那么 Val() 也适用于简单的转换,例如 Val('123.45')


使用字符串 easy fixed 可以很容易地实现 val( string.replaceAll('[^0-9.]+','') )。 - Mike Causer
1
使用val()函数大约比lsParseNumber()函数快2倍。 - Mike Causer
3
使用以下翻译:将字符串中除数字和小数点之外的所有字符替换为空格,并将结果乘以1,以进一步提高速度。 - Mike Causer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接