рандомные double приводить при помощи ToString, но теряется точность
Используй decimal, если нужна такая уж точность
Не, мне нужно именно получить строковое представление double как он есть
Попробуй .ToString("N3") где 3 - число знаков после запятой
Мне нужно иметь возможность привести любой double к строке. Поэтому я заранее не знаю число знаков после запятой.
Придётся принять правила игры)
Ну предварительного посчитай количество символов после запятой
Есть один способ!! Но он тебе не понравиться)
И ToString($"N{num})
Открою тебе секрет. Через дабл ты получаешь примерное значение на хвосте
https://stackoverflow.com/questions/13477689/find-number-of-decimal-places-in-decimal-value-regardless-of-culture
Которое на разных компах отличается. Даже на одном в разное время может отличаться, емнип
https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-numeric-format-strings?redirectedfrom=MSDN#round-trip-format-specifier-r
Щааа. Он скоро догонит до фишки)) еще немного помучается и смирится )
Помню прикол, когда у меня за ид было время. Так вот, после отправки на клиент, десериализации-сериализации, обратной отправки на сервере время тупо не билось - разница в несколько тиков была. Быстро понял, что лучше всё же добывить сообщению ид))
сам по себе дабл не гарантирует идеальной точности
начнем с того, что там не может быть чисел больше 17 после запятой
Спасибо, помогло ToString("G17") По крайней мере рандомная тысяча чисел прошла проверку успешно
Я тебе про R писал
R как раз не работает. В статье написано использовать G17
Знаешь что сделает G17?
оказывается и 20 есть
Обсуждают сегодня