2011-07-17 39 views
7

đang hiện tại:Chuyển đổi một String để một Ngắn

short s; 

s = short.Parse(this.txtFields3.Text); 

Tôi đã trải qua với gỡ lỗi, và có thể khẳng định rằng txtField3.Text trả về một giá trị thực tế từ mẫu.

Cũng thử:

s = short.Parse(this.txtFields3.Text, CultureInfo.InvariantCulture); 

s = Convert.toInt16(this.textFields3.Text);  

EDIT: Giá trị của biến Tôi đang cố gắng để đưa vào 's' ở đây là "EMS".

+4

Bạn nhận được lỗi nào và giá trị nào có 'txtField3' khi gỡ lỗi? –

+3

Đầu vào ví dụ, vui lòng. –

+0

trường văn bản của bạn chứa nội dung nào? – BrokenGlass

Trả lời

5

"EMS" không phải là một thời gian ngắn, do đó mã sẽ luôn luôn thất bại.

Bạn có chắc bạn hiểu những gì bạn đang cố gắng làm không? Hãy cho chúng tôi những gì bạn thực sự cần phải làm, không phải những gì bạn nghĩ rằng bạn muốn làm và bạn chắc chắn sẽ được giúp đỡ.

Cập nhật

Một ngắn là một loại dữ liệu mà đại diện cho một số. Đây là lý do tại sao "EMS" không phải là ngắn.

+0

Vâng, tôi nghĩ rằng tôi biết là tôi đã làm nhưng tôi đoán tôi đã không thực sự hiểu giá trị của một đoạn ngắn trong trường hợp này. Tôi đang cố gắng chuyển đổi giá trị chuỗi của txtFields3.Text thành một đoạn ngắn, bởi vì tôi đang viết nó trở lại một bảng Cơ sở dữ liệu Access, trong đó, một trong các trường là kiểu giá trị 'ngắn'. –

+0

@James, xem cập nhật của tôi và kiểm tra xem nó có giúp bạn không. –

+0

Vâng, nó đã giúp chắc chắn! Cảm ơn bạn! –

7

và giá trị là nội dung phù hợp với một đoạn ngắn?

Làm thế nào về:

short s; 
if (!short.TryParse(this.txtFields3.Text, out s)){ 
    s = 0; 
} 
+0

Ah, tôi đoán nó không phải là một cái gì đó mà có thể phù hợp với một đoạn ngắn sau đó? Cảm ơn vì tiền boa. –

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