我正在尝试将SQL函数转换为Groovy以便在Elasticsearch中使用,但是我仍然停留在这个阶段。考虑到我一生中从未接触过Java或groovy,我在做什么错?
代码
std_scaler = StandardScaler().fit(X_train)
std_X_train = std_scaler.transform(X_train)
std_X_test = std_scaler.transform(X_test)
取自Convert from one base to another in Java
错误
java.lang.NumberFormatException:对于输入字符串:“ 8f8f87878f8f8080”
在java_lang_Integer $ parseInt.call(未知来源)
在Script1.convertFromBaseToBase(Script1.groovy:2)
在Script1.run(Script1.groovy:5)
答案 0 :(得分:2)
8f8f87878f8f8080
是一个非常大的数字(十进制为10344635885392199808
,因此不能容纳在Integer
中。
对于如此大的数字,您将不得不使用BigInteger
。
public static String convertFromBaseToBase (String str, int fromBase, int toBase){
return (new BigInteger(str, fromBase)).toString(toBase);
}
工作代码-->
https://www.onlinegdb.com/B1mMEcKPX
BigInteger -->
https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#toString(int)