У меня есть следующий пример кода:
float val = 16777216.0F;
var badResult = Convert.ToDecimal(val);
//badResult has value 16777220
Почему потеряна эта точность?значение равно 2 ^ 24, значение, которое может представлять число с плавающей точкой.Существуют ли какие-либо библиотеки .net, которые я могу использовать, чтобы заставить это преобразование работать правильно, без необходимости накатывать собственный iCustomFormatter?
Спасибо!
Редактировать, это уродливый код, который я использовал в качестве решения
var goodResult = Convert.ToDecimal(((double)val));