如何在速度模板中将字符串解析为bigInteger?
如果我们有整数,则可以执行以下操作(但不确定如何对bigIntger类型执行此操作):
#set( $Integer = 0 )
#set( $input1InInteger = $Integer.parseInt($input1) )
最佳答案
您需要在上下文中添加一个辅助类来完成此操作:
public class NumberHelper {
public static final NumberHelper INSTANCE = new NumberHelper();
private Exception lastError = null;
private NumberHelper() {
// intentionally empty
}
public void setLastError(Exception lastError) {
this.lastError = lastError;
}
public Exception getLastError() {
return lastError;
}
public BigInteger parseBigInteger(String numberAsString) {
BigInteger retVal = null;
try {
retVal = new BigInteger(numberAsString);
} catch(NumberFormatException e) {
setLastError(e);
}
return;
}
}
现在将它放在您的上下文中:
context.put("numberHelper", NumberHelper.INSTANCE);
并在您的模板上使用
#set( $Integer = 0 )
#set( $input1InInteger = $numberHelper.parseBigInteger($input1) )