[英]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.