имея массив из цифр после запятой получить значение double?
Например, есть массив [4,2]
Мне нужно получить 0.42
И именно так, а не
0.4 + 0.02 = 0.42000000000000004
Без использований округлений и преобразования к строке и так далее. Возможно ли это?
формально это невозможно, такая специфика работы дабла. стоит почитать подробно как он работает если вам нужна большая точность возьмите decimal
Но ведь я могу указать значение 0.42 в double. То есть такое значение в принципе возможно (каким бы внутри оно сложным не было)
если ты посмотришь внимательно там все равно будет 4ка на концк
Нет, это отдельная проблема компьютерных вычислений. Вероятно, есть библиотека для такого
А как её увидеть?
посчитай сначала в децимал, потом приведи в дабл
А изначально то какая твоя задача?
ты с такой точностью дабл хочешь?)
про то, что кажется что работает выше объясняли)
Написать своё преобразование String - Double, которое бы работало так же как Convert
Но я же получаю нужный результат, даже если он внутри выглядит иначе
Ну не делай это через decimal тогда 🌚
А где их можно посмотреть?
https://source.dot.net/#System.Private.CoreLib/Double.cs,73cc31e0b47fd637,references
Обсуждают сегодня