通过比例获得巨大的价值

时间:2015-09-14 13:56:46

标签: java bigdecimal

我有一个值为7的字符串。我需要将此值转换为大十进制等效7.000000。我尝试了 BigDecimal BigDecimal(String val)BigDecimal(BigInteger val, MathContext mc)构造函数,但这些都不起作用,它们都返回7。我怎样才能获得7.000000

3 个答案:

答案 0 :(得分:2)

您可以使用DecimalFormat格式化输出。但是,无法在BigDecimal对象中存储不必要的精度。

public static void main(String[] args) {
    BigDecimal seven = new BigDecimal(7);
    BigDecimal sevenWithDecimals = new BigDecimal("7.12");
    DecimalFormat decF = new DecimalFormat("#.000000");

    System.out.println(decF.format(seven.doubleValue()));
    System.out.println(decF.format(sevenWithDecimals.doubleValue()));
}

输出

  

7.000000

     

7.120000

答案 1 :(得分:1)

我认为您正在谈论如何将其转换为String

BigDecimal的构造函数将生成一个代表您给出的值的BigDecimal,而代表数字7的BigDecimal与{{1}之间没有区别代表数字7.00000,不仅仅是数字7和数字7.00000之间的差异。

当你打印出来时,它需要转换为BigDecimal,听起来好像在那时你想要指定小数位数。为此,您需要使用String类:

DecimalFormat

答案 2 :(得分:0)

这应该有效:

<a href="#" class="tooltips" data-toggle="popover" data-trigger="hover" data-placement="right" data-content="My text that I want to display on mobile" data-original-title="" title="">
    <img src="image">
</a>