Как буквально определить массив десятичных дробей без многократного приведения? - PullRequest
12 голосов
/ 06 июля 2010

Как я могу определить массив десятичных чисел без явного приведения каждого из них?

//decimal[] prices = { 39.99, 29.99, 29.99, 19.99, 49.99 }; //can't convert double to decimal
//var prices = { 39.99, 29.99, 29.99, 19.99, 49.99 }; //can't initialize... 
decimal[] prices = { (decimal)39.99, (decimal)29.99, (decimal)29.99, (decimal)19.99, (decimal)49.99 };

Ответы [ 3 ]

27 голосов
/ 06 июля 2010

Используйте суффикс m.

decimal[] prices = { 39.99m, 29.99m, 19.99m, 49.99m };

Без суффикса m (или M) компилятор обрабатывает его как двойной тип.

- http://msdn.microsoft.com/en-us/library/364x0z75(VS.71).aspx

10 голосов
/ 06 июля 2010

Вам нужно добавить M в конец

2 голосов
/ 06 июля 2010

Десятичный литерал 39.99m

...