Ограничение величины числа | C#

Рейтинг: 0Ответов: 2Опубликовано: 14.07.2023

При работе мне понадобился такой тип, который может хранить ооочень большие числа. Для этого я использовал double, но теперь мне и его не хватает. А с этими большими числами мне нужно проводить некоторые операции: -сложение -преобразования типов данных( из него в string и обратно) и тд Подскажите, пожалуйста, как я могу поступить? Спасибо за любую помощь. P.S.Нужна точность до единиц.(После запятой не важно)

Ответы

▲ 1Принят

Если речь идёт не о величине чила, как обозначено в вопросе, а о количестве значащих цифр, как можно было бы подумать, то: Учитывая, что у double 15-17 значащих цифр, вы можете использовать decimal c 28 значащими цифрами (не важно, до запятой или после). Ну а потом уже BigInteger. https://learn.microsoft.com/ru-ru/dotnet/csharp/language-reference/builtin-types/floating-point-numeric-types

▲ 0

Если идёт речь прям про очень большие числа советую использовать string, да..да.. именно строки. Реализуйте метод основанный на чистой логике сложения/вычитания/деления/умножения столбиком. Тогда у вас практически исчезнет ограничение длины числа. В интернете полно примеров как можно это реализовать, и в этом нет ничего сложного. Double и decimal - это конечно числовые типы данных, но компилируются они по разному и каждый имеет свои ограничения.