1

如何在速度模板中将字符串解析为 bigInteger?

如果我们有整数,那么我们可以执行以下操作(但不确定,对于 bigIntger 类型我们如何做到这一点):

#set( $Integer = 0 )
#set( $input1InInteger = $Integer.parseInt($input1) )
4

1 回答 1

1

您需要在您的上下文中使用一个小助手类来执行此操作:

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) )
于 2013-06-21T07:37:43.980 回答