Как избежать округления в методе convert.tosingle - PullRequest
0 голосов
/ 24 августа 2010

считают,

object a =1.123456;
float f = convert.ToSingle(a);

Но когда я печатаю значение f, я получаю 1.123455.

Это округляется. Также проблема в том, что я не могу изменить тип данных с плавающей точкой в ​​коде. Пожалуйста помоги.

1 Ответ

1 голос
/ 24 августа 2010

Это сделано из-за способа работы типа с плавающей точкой. Если вам нужна более высокая точность (за счет некоторой производительности) - используйте вместо этого тип Double или Decimal.

Для получения дополнительной информации о том, почему с плавающей точкой теряется точность, читайте: http://msdn.microsoft.com/en-us/library/c151dt3s%28VS.80%29.aspx

...