转换为正确的BigDecimal表示

时间:2014-01-13 16:35:06

标签: java bigdecimal

我有一个字符串作为数据源返回,我需要将其转换为正确的BigDecimal格式 - 字符串的格式为

1.6945E3

并且需要转换为1694.50,而是仅转换为1694.5,导致信息丢失。以下是我正在使用的代码。

我只是传递字符串并在BigDecimal的实例上做一个新的。

关于如何获得正确数据表示的任何想法。

由于 “

1 个答案:

答案 0 :(得分:4)

取决于,试试这个

    BigDecimal bd = new BigDecimal("1694.50");
    System.out.println(bd);

输出

1694.50

但是这个

    BigDecimal bd = new BigDecimal(1694.50);
    System.out.println(bd);

产生

1694.5

和这个

    BigDecimal bd = new BigDecimal("1694.50");
    System.out.printf("%.3f", bd);

打印

1694.500