2010-07-07 86 views
1

我使用Groovy的BigInteger的字符串

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

到16位的“数字”来使用字符转换在串行

有没有办法迫使这个使用AZ + 2 7符号而不是0-9 + AV?

回答

1

一种选择是重新实现的方式BigInteger.toString(radix)作品(与Java 7,它调用java.math.Conversion.bigInteger2String可以是found here - 正如你所看到的,将是一个大量的工作)

另一个办法是使用Groovy 1.7.3和新的tr函数来简单地替换字符串中的字符而不是你想要的字符:

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

这是一个奇妙的Groovy方法。谢谢。 我需要等待Filemaker的插件更新到这个版本,然后我才能测试它... – 2010-07-07 09:50:32

+0

mrhaki在这里涵盖了一些用法:http://mrhaki.blogspot.com/2010/06 /groovy-goodness-text-translation.html – 2010-07-07 09:53:28