này sẽ trả lại cho bạn một chuỗi bao gồm tất cả mọi thứ sau dấu phẩy
str = str.Substring(0, str.IndexOf(','));
Tất nhiên, đây giả chuỗi của bạn thực sự có một dấu phẩy với số thập phân. Đoạn mã trên sẽ thất bại nếu không. Bạn muốn thực hiện nhiều kiểm tra hơn:
commaPos = str.IndexOf(',');
if(commaPos != -1)
str = str.Substring(0, commaPos)
Tôi giả sử bạn đang làm việc với chuỗi để bắt đầu. Lý tưởng nhất, nếu bạn đang làm việc với một số để bắt đầu với, giống như một float hay double, bạn có thể chỉ cần cast nó vào một int
, sau đó làm myInt.ToString()
như:
myInt = (int)double.Parse(myString)
này phân tích cú đúp bằng cách sử dụng văn hóa hiện tại (ở Hoa Kỳ, chúng tôi sử dụng .
cho dấu thập phân). Tuy nhiên, điều này một lần nữa giả định rằng chuỗi đầu vào của bạn có thể được phân tích cú pháp.
Nguồn
2011-11-11 18:53:24
Tôi nhận được rất nhiều câu trả lời hay. Nhưng cái này là cái tôi sẽ sử dụng, về mặt tao nhã. Tuy nhiên, tôi không biết, ở ** cấp độ thấp **, cái nào hiệu quả hơn. Vì vậy, làm cho sự lựa chọn của bạn! – Kani
Giải pháp thứ hai là dễ đọc, dễ hiểu và bảo trì hơn, và xét về hiệu suất ** ở mức độ thấp **, sự khác biệt là vô cùng đáng kể. Nếu bạn BIẾT rằng ',' luôn ở vị trí -3, thì giải pháp đầu tiên vẫn OK, nhưng * tối ưu hóa sớm * là một điều khủng khiếp để lãng phí thời gian của bạn. –
@Kani Đầu tiên là hiệu quả nhất - nhưng tôi hoàn toàn đồng ý với Scott. Tôi sẽ luôn luôn chọn thứ hai, trừ khi tôi biết, sau khi profiling, rằng có một sự hoàn hảo. nút cổ chai ở đây. Cả hai (và hầu hết các câu trả lời khác) sẽ rất nhanh - đủ tốt cho gần như tất cả các mục đích. –