2010-01-25 40 views
21

Tôi muốn có thể chuyển đổi một số chuỗi chẳng hạn như "1.427.76" thành một số trong coldfusion nhưng dấu phẩy là làm cho nó thất bại. Có một cách đơn giản để làm điều đó ngoài việc phải loại bỏ dấu phẩy?Làm thế nào để chuyển đổi một chuỗi đại diện của một số thành một số trong coldfusion?

<cfset string = "1,427.75"> 

<cfset number = string * 100> 

Lỗi xảy ra khi cố gắng thực hiện các phép toán trên đó. Nếu dấu phẩy bị xóa, nó hoạt động tốt nhưng tôi nhận được dấu phẩy từ một phép tính cơ sở dữ liệu.

Trả lời

43

Tôi biết bạn có thể sử dụng LSParseNumber:

<cfset string = "1,427.75"> 

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

Điều đó rất hữu ích, cảm ơn! –

+2

@Scott Chantry nếu câu trả lời của phái sinh làm việc cho bạn, đừng quên chọn nó làm câu trả lời được chấp nhận. :) – mwcz

8

Val() hoạt động cũng cho chuyển đổi đơn giản mà bạn không quan tâm đến miền địa phương, ví dụ Val ('123.45')

+1

Sử dụng Val chỉ hoạt động khi không có dấu phẩy. –

+0

dễ dàng được sửa bằng chuỗi = val (string.replaceAll ('[^ 0-9 \.] +', '')); –

+1

sử dụng val() nhanh hơn 2x nhanh hơn lsParseNumber() –

Các vấn đề liên quan