Groovy BigInteger для струнных - PullRequest
1 голос
/ 07 июля 2010

Я использую

i = value.toBigInteger()
i.toString(32).toUpperCase()

для преобразования 16-значного числа в символы для использования в сериале

Есть ли способ заставить это использовать обозначение A-Z + 2-7 вместо 0-9 + A-V ??

1 Ответ

1 голос
/ 07 июля 2010

Одним из вариантов может быть повторная реализация способа работы BigInteger.toString( radix ) (в Java 7 он вызывает java.math.Conversion.bigInteger2String, который может быть найден здесь - и, как вы можете видеть, будет большим объем работ)

Другой вариант - использовать Groovy 1.7.3 и новую функцию tr, чтобы просто заменить символы в вашей строке на те, которые вы хотите вместо этого:

str.tr( '0-9A-V', 'A-Z0-7' )
...