После дальнейших исследований, все это сводится к следующему:C# двойное значение отображается как .9999998?
(decimal)((object)my_4_decimal_place_double_value_20.9032)
после заливки в два раза, то становится 20,903199999999998
У меня есть двойное значение, которое округленное до всего 4 десятичных точек с помощью Math.Round(...)
значение равно 20.9032
В моей среде dev она отображается как есть.
Но в выпущенном среде, он отображается как 20.903199999999998
Там не было никакой операции после Math.Round(...)
но стоимость была скопирована вокруг и назначена.
Как это может произойти?
Обновления: Данные не загружаются из базы данных.
возвращенное значение от Math.Round()
относится к оригинальной двойной вариабеле.
Релиз и dev - это та же архитектура, если эта информация помогает.
Вы извлекаете DB формы значений и назначаете управление для отображения? – SeeSharp
Math.Round возвращает число, устанавливаете ли вы это значение? – Sayse
Разве dev и релиз env той же архитектуры? –