2012-07-03 46 views
17

Khi tôi cố gắng chuyển đổi một cái gì đó như 0,1 (từ người dùng trong hộp văn bản), Giá trị của tôi b luôn luôn là sai.Decimal.TryParse không phân tích giá trị thập phân của tôi

bool b = Decimal.TryParse("0.1", out value); 

Làm thế nào nó có thể có mặt ở đây để làm việc?

+0

Whats sự ngoại lệ? – HatSoft

+9

Ngôn ngữ của bạn là gì? – penartur

+0

nó đang làm việc cho tôi, bạn đã đề cập đến giá trị trước khi sử dụng nó? –

Trả lời

8

Quá muộn để đảng, nhưng tôi đã đi để đề nghị buộc culuture để en-US nhưng bất biến là một tốt hơn sln

decimal value; 
bool b = Decimal.TryParse("0.1", NumberStyles.Any, new CultureInfo("en-US"), out value); 
10

Sử dụng Culture trong phương pháp quá tải

+1

là flashmob =) –

39

Chỉ định văn bản để phân tích cú pháp. Văn hóa hiện tại của bạn sử dụng một số định dạng số khác nhau, có thể là 0,1.

này sẽ phân tích thành chuỗi:

bool b = Decimal.TryParse("0.1", NumberStyles.Any, CultureInfo.InvariantCulture, out value); 
+0

Đây là giải pháp thực sự –

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