我正在编写一个 Java 程序来处理一些伪 xml 格式的电子税表。
所产生的要支付或退还的税款采用以下格式: 13 字符长 无符号整数字符串,其中最后两位代表美分,即两位小数。结果是肯定的(付款)还是否定的(退款)在别处注明,因此这里不相关。
我需要将此字符串转换为 BigNumber 并得出以下解决方案,这是一个好方法吗?你知道更好的解决方案吗?
public class BigDecimalTest {
public static void main(String[] args) {
// 0000000043272 for EUR 432.72
String s = "0000000043272";
//mantissa is the amount as-is, exponent-2 since working with 2 decimal places.
BigDecimal bd = new BigDecimal(s+"E-2");
System.out.printf("%s: BigDecimal %sE-2 toString: %s\n", s, s, bd.toString());
}
}