如何在velocity模板中将字符串解析为bigInteger

时间:2013-06-21 07:13:08

标签: java velocity biginteger

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

如果我们有整数,那么我们可以这样做:(但不确定,我们如何为bigIntger类型这样做)

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

1 个答案:

答案 0 :(得分: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) )