Вставка Java/Scala BigInteger

request.POST представляет собой словарь-объект, содержащий все заданные параметры HTTP POST.

Когда вы просматриваете request.POST, вы получаете только ключи.

for key in request.POST:
    print(key)
    value = request.POST[key]
    print(value)

Чтобы получить ключи и значения вместе, используйте метод items .

for key, value in request.POST.items():
    print(key, value)

Обратите внимание, что request.POST может содержать несколько элементов для каждой клавиши. Если вы ожидаете нескольких элементов для каждой клавиши, вы можете использовать lists , который возвращает все значения в виде списка.

for key, values in request.POST.lists():
    print(key, values)

Для получения дополнительной информации см. Django документы для QueryDict .

9
задан oxbow_lakes 7 November 2009 в 17:59
поделиться

2 ответа

Ответ rtperson верен с точки зрения Java, но в Scala вы можете сделать больше с scala.BigInt s, чем то, что вы можете сделать с java.math.BigInteger s.

Например:

scala> val a = new BigInteger("26525285981219105863630848482795");
a: java.math.BigInteger = 26525285981219105863630848482795

scala> a + a
:7: error: type mismatch;
found   : java.math.BigInteger
required: String
       a + a

Канонический способ создания экземпляра класса в Scala заключается в использовании фабрики, расположенной в сопутствующий объект . Когда вы пишете Foo (args) в Scala, это преобразуется в Foo.apply (args), где Foo - это одноэлементный объект - сопутствующий объект. Таким образом, чтобы найти способы построения BigInt , вы можете взглянуть на объект BigInt в библиотеке Scala, и в частности на его конструкцию apply .

] Итак, существует три способа создания BigInt : передача ему Int , Long или String для анализа. Пример:

scala> val x = BigInt(12)
x: BigInt = 12

scala> val y = BigInt(12331453151315353L)
y: BigInt = 12331453151315353

scala> val z = BigInt("12124120474210912741099712094127124112432")
z: BigInt = 12124120474210912741099712094127124112432

scala> x + y * z
res1: BigInt = 149508023628635151923723925873960750738836935643459768508

Обратите внимание на приятную вещь: вы можете выполнять естественные арифметические операции с BigInt , что невозможно с BigInteger !

17
ответ дан 4 December 2019 в 09:37
поделиться

Это должно работать:

BigInteger bigInt = new BigInteger("26525285981219105863630848482795");

BigInteger считывает строки и преобразует их в правильное число. Из-за этого вы захотите проверить java.text.NumberFormat.

5
ответ дан 4 December 2019 в 09:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: