簡體   English   中英

如何在C#中將字符串轉換為double

[英]How to convert string to double in C#

在下面的代碼中,產生錯誤的等級

string[] allLines = File.ReadAllLines(@"Ratings.csv");

var parsed = from line in allLines
            let row = line.Split(';')
             select new
             {
                 UserId = row[0],
                 ItemId = row[1],
                 rating = row[3]
            };
var Rating = parsed.Select(x => new AddRating (x.UserId, x.ItemId,x.rating));

client.Send(new Batch(Rating));


var detailViews = parsed.Select(x => new AddDetailView(x.UserId, x.ItemId,x.rating ));
String st = "85.78";
Double db = Convert.ToDouble(st);

//Or With Error Hndler

try
        {
            string st = "85.78";
            Double db = Convert.ToDouble(st);
        }
catch (FormatException)
        {

            // Your error handler 

        }

例外是告訴您問題是什么。 您的構造函數期待雙打,而您正在傳遞字符串。 為了修復它,您必須將字符串輸入解析為雙精度。

編寫代碼的方式,您必須更改使用.Select語句的方式,以便以適當的錯誤處理方式解析它。

我建議將.Select交換為foreach ,然后解析每個屬性,然后實例化您的類。

foreach (var item in parsed)
{
    double userId = 0;
    double itemId = 0;
    double rating = 0;
    double.TryParse(item.UserId, out userId);
    double.TryParse(item.ItemId, out itemId);
    double.TryParse(item.rating, out rating);

    var rating = new AddRating(userId, itemId, rating);
    //**** do whatever you want with the new object
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM