你能组合new(带字符串构造函数)和Bigdecimal的值吗?

时间:2014-08-27 18:14:12

标签: java new-operator bigdecimal value-of

我在堆栈溢出中看到以下帖子,这与我的问题有关:

BigDecimal - to use new or valueOf

我知道建议对BigDecimal使用字符串构造函数 但我的问题是,一旦你用字符串定义了一个bigDecimal,你可以稍后使用valueof来使用该值。

如果以下代码有效,有人可以告诉我吗?

BigDecimal tipPercent = new BigDecimal("0.0");
if (tipState == TipSelection.FIFTEEN) {
    tipPercent = BigDecimal.valueOf(FIFTEEN);
}

谢谢!

2 个答案:

答案 0 :(得分:1)

如果您的意思是可以恢复您开始使用的String,那么可以选择:您可以使用BigDecimal再次将String变为toString()。所以在你的情况下你可以打电话

tipPercent.toString()

获取String的{​​{1}}代表。

我说"有点"它可能不完全是你所放入的,但它是等同的。如果您通过传递tipPercent来创建BigDecimal,那么您将返回"00",但它代表相同的数字。

答案 1 :(得分:1)

这取决于变量FIFTEEN的类型。 BigDecimal中的valueOf仅适用于double或long。

但是你可以将BigDecimal重新分配给另一个BigDecimal,无论它是如何创建的。