public static void main(String[] args) {
String hex = "0xdbf3accc683297cf0000";
BigInteger amount = new BigInteger(hex.substring(2), 16);
System.out.println(amount);
}
public static void main(String[] args) {
int precision = 18; // 18位小数
String hex = "0x117067e8822a";
BigDecimal decimal = new BigDecimal(new BigInteger(hex.substring(2), 16));
BigDecimal precisionDecimal = new BigDecimal(10).pow(precision);
BigDecimal value = decimal.divide(precisionDecimal).setScale(precision, RoundingMode.DOWN);
System.out.println(value.toString());
}
public static void main(String[] args) {
int precision = 18; // 18位小数
String hex = "0x000000000000000000000000000000000000000000000000a688906bd8b00000";
BigDecimal decimal = new BigDecimal(new BigInteger(hex.substring(2), 16));
BigDecimal precisionDecimal = new BigDecimal(10).pow(precision);
BigDecimal value = decimal.divide(precisionDecimal).setScale(precision, RoundingMode.DOWN);
System.out.println(value.toString());
String toHex = String.format("%#x %n", value.multiply(precisionDecimal).toBigInteger());
System.out.println(toHex);
}
public static void main(String[] args) {
int precision = 18; // 18位小数
String hex = "0x000000000000000000000000000000000000000000000000a688906bd8b00000";
BigDecimal decimal = new BigDecimal(new BigInteger(hex.substring(2), 16));
BigDecimal precisionDecimal = new BigDecimal(10).pow(precision);
BigDecimal value = decimal.divide(precisionDecimal).setScale(precision, RoundingMode.DOWN);
System.out.println(value.toString());
BigInteger toBigInt = value.multiply(precisionDecimal).toBigInteger();
String noZeroHex = value.multiply(precisionDecimal).toBigInteger().toString(16);
String zeroNumber = String.format("0%sd", 64 - noZeroHex.length());
String zero = String.format("%" + zeroNumber, 0);
String toHex = String.format("0x%s%s", zero, noZeroHex);
System.out.println(toHex);
System.out.println("0x000000000000000000000000000000000000000000000000a688906bd8b00000".length());
System.out.println("0x000000000000000000000000000000000000000000000000a688906bd8b00000".length());
}