2010-07-07 67 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