Конвертация непосредственно в запросе LINQ - PullRequest
2 голосов
/ 08 декабря 2011

Я работаю с Entity Framework и у меня есть запрос LINQ, подобный этому:

var foo = from ee in context.Table select new {id = ee.id, price = ee.price}.ToList();

, где цена является десятичной (smallmoney в SqlServer).Теперь я связываю его с сеткой данных mydgv.DataSource = foo;Но сначала я хотел бы преобразовать все десятичные дроби в строки, чтобы удалить нули из значения (например, сейчас это 26,0000, и я хочу, чтобы оно было 26,00).Как я могу это сделать?Что-то вроде:

bla.ForEach( x => x.price.ToString().Substring(0,3))

не будет работать.

Ответы [ 2 ]

2 голосов
/ 08 декабря 2011
var q = foo.Select(x => new { id = x.id, price = x.price.ToString("N2") } );

Но вы, вероятно, можете установить строку формата для столбца в сетке данных на "N2" и привязать непосредственно к исходному источнику данных. Что-то вроде:

dgv.Columns[0].DefaultCellStyle.Format = "N2";
0 голосов
/ 08 декабря 2011

Не уверен, поддерживает ли EF, но попробуйте

new { ee.id, price = ee.price.ToString("f2") }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...