如何在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
,然后解析每个 属性,然后实例化您的 class。
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
}
在下面的代码中,评分生成错误
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
,然后解析每个 属性,然后实例化您的 class。
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
}