-1

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

BigDecimal - 使用 new 或 valueOf

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

有人可以让我知道以下代码是否有效吗?

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

谢谢!

4

2 回答 2

1

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

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

于 2014-08-27T18:32:33.490 回答
1

如果你的意思是你能恢复你开始的那个String,那么有点:你可以BigDecimal用. 所以在你的情况下你可以打电话StringtoString()

tipPercent.toString()

得到 的String表示tipPercent

我说“有点”的原因是它可能不完全是你输入的内容,但它是等价的。如果您BigDecimal通过传递它来创建 a "00",您将返回"0",但它代表相同的数字。

于 2014-08-27T18:19:04.773 回答