Как увеличить заданное число на 1?

  • Автор темы Автор темы dmitriy1384
  • Дата начала Дата начала

dmitriy1384

Client
Регистрация
04.11.2013
Сообщения
385
Реакции
135
Баллы
43
Не могу увеличить число 82005269768778080233 на единицу при помощи обработки переменных. Выдает ошибку.
Подскажите, может на C# можно как то увеличивать большие числа на единицу?
 
Как вариант можно взять это число двумя регулярками (в одну 18 чисел, а в другую 2 или 3), потом, эту переменную в которой две цифры увеличиваете и соединяете обе переменные в одну
 
Вот код:
C#:
Развернуть Свернуть Копировать
return Decimal.Parse(project.Variables["big_number"].Value) + Decimal.One;

decimal.png

Если здесь не врут, то число не должно быть больше чем 79228162514264337593543950335
 
  • Спасибо
Реакции: Greez и budora
Длинная арифметика. Сложение. Гуголь в этом деле поможет.
Вот код:
C#:
Развернуть Свернуть Копировать
return Decimal.Parse(project.Variables["big_number"].Value) + Decimal.One;

Если здесь не врут, то число не должно быть больше чем 79228162514264337593543950335
Длинная арифметика от Microsoft. Вех студентов мучают.
когда больше чем то- BigInteger.
Если память не изменяет то так
Код:
Развернуть Свернуть Копировать
BigInteger num1 = BigInteger.Parse("9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999");
BigInteger num2 = BigInteger.Parse("9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999");
BigInteger sum = num1 + num2;
return sum;
Код:
Развернуть Свернуть Копировать
return BigInteger.Parse(project.Variables["big_number"].Value) + BigInteger.One;
System.Numerics в using и references
 
  • Спасибо
Реакции: ChuckNorris и nicanil
Код:
Развернуть Свернуть Копировать
return BigInteger.Parse(project.Variables["big_number"].Value) + BigInteger.One;
System.Numerics в using и references

BigInteger в процесе поиска я встречал, но как его подключить, чтоб он стал доступен, разобраться не смог. Поэтому остановился на Decimal, которое не требует лишних телодвижений.:-)
 
Длинная арифметика. Сложение. Гуголь в этом деле поможет.

Длинная арифметика от Microsoft. Вех студентов мучают.
когда больше чем то- BigInteger.
Если память не изменяет то так
Код:
Развернуть Свернуть Копировать
BigInteger num1 = BigInteger.Parse("9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999");
BigInteger num2 = BigInteger.Parse("9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999");
BigInteger sum = num1 + num2;
return sum;
Код:
Развернуть Свернуть Копировать
return BigInteger.Parse(project.Variables["big_number"].Value) + BigInteger.One;
System.Numerics в using и references
Код:
Развернуть Свернуть Копировать
Компиляция кода  Ошибка в действии "CS0234" "Ошибка в директивах using. The type or namespace name 'Numeric' does not exist in the namespace 'System' (are you missing an assembly reference?)". [Строка: 0; Cтолбец: 14]

Ловлю ошибку. Подскажите в чем может быть проблема? System.Numerics указал в GAC, в using добавил. Насчет references только не понял, подскажите что это значит.

----
UPD! Капец какой-то как всегда, убил пару часов что бы разобраться со всем этим не хотел задавать вопрос на форуме и как только отписал тут - проблема решилась сама собой))
Напишу на всякий решение, вижу что не один я такой который первый раз имеет дело с C#...

Оказалось нужно было добавить во вкладку "Директивы using"
Код:
Развернуть Свернуть Копировать
using System;
using System.Numerics;
(не забыть указать в "Ссылки из GAC" библиотеку System.Numerics.dll
И всё заработало!
 
Последнее редактирование:

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)