2

是否有一个 java 类抽象来表示科学数字(e.g. the number, 10 power modulus),这样我就可以在它们之上进行简单的操作,比如乘法或除法。

注意:在这里寻找类似于Fraction的东西。

4

3 回答 3

3

正如 Emil 所说,BigDecimal 可以帮助您。它没有允许您输入双尾数和 int 指数的构造函数。您可以扩展该类以创建一个新的构造函数,或者,您可以定义一个 DecimalFormat。我认为 DecimalFormat 类会做一些你想做的事情。它允许您如何定义数字的“外观”。您需要使用字符串定义格式,教程是 http://download.oracle.com/javase/tutorial/i18n/format/decimalFormat.html

您必须定义科学数字的格式,调用yourDecimalFormat.parse(yourStringtoBecomeScientificNumber)它会给您一个数字,然后将其转换为 BigDecimal 以对其进行算术运算。

另请注意,这应该允许您将一定数量的有效数字或数字强制到小数点左侧。

于 2010-12-09T06:29:30.660 回答
1

我没有得到你的例子。如果你需要不同类型的数字表示,那么你可以通过扩展抽象类Number来做到这一点。也看看BigDecimals。我认为这就是你要找的。

于 2010-12-09T06:20:09.217 回答
0

您可以将数字写为 number+e​​+exponent,例如:1e2 而不是 100。乘法和除法应该适用。

于 2010-12-09T06:07:05.647 回答