Насколько велика потеря точности, преобразующая длинную в двойную?
Я прочитал в другом посте на stackoverflow и в документации C #, что преобразованиеlong
(или любой другой тип данных, представляющий число) дляdouble
теряет точность. Это довольно очевидно из-за представления чисел с плавающей точкой.
Мой вопрос: насколько велика потеря точности, если я преобразую большее число вdouble
? Должен ли я ожидать различия больше +/- X?
Причина, по которой я хотел бы знать это, заключается в том, что мне приходится иметь дело с непрерывным счетчиком, который являетсяlong
, Это значение читается моим приложением какstring
, должен быть разыгран и должен быть разделен, например, на 10 или другое небольшое число, а затем обрабатывается дальше.
Было быdecimal
быть более подходящим для этой задачи?