我已经查明了它的作用,但是有没有人真的有一个例子,你何时会strictfp在Java中使用关键字?有没有人真的找到了这个用途?
将它放在我的所有浮点运算上是否会产生任何副作用?
我正在寻找一个代表分数(有理数)的Java库.例如,如果我想存储分数,1/3那么它将不会被保存,0.33333因为它将失去其准确性.
以下是我希望在这样的库中找到的一些功能:
getNumerator()getDenominator()add(Rational r1, Rational r2),subtract(Rational r1, Rational r2),multiply(Rational r1, Rational r2),divide(Rational r1, Rational r2)isProper()getCommonDenominator(Collection<Rational> rationals)getSimplified()我可以自己实现这样一个库,虽然我想知道类似的东西是否已经存在.
编辑:如果库实现(除了上面)一些数论算法,如getEgyptianFractionsSum()等等,也会很好.
我正在研究业务逻辑,我需要对BigDecimal变量进行除法和乘法以产生业务结果,但是我面临着保持准确性的问题。
实际的业务我不能放在这里,所以我创建了一个示例程序并包含在此处。我只需要使用BigDecimal,所以我对此非常严格,但是我愿意使用任何比例尺,模式或任何有助于我获得最大精度的东西。
总是欢迎提出建议。
样例代码
public class Test {
public static void main(String[] args) {
BigDecimal hoursInADay = new BigDecimal("24");
BigDecimal fraction = BigDecimal.ONE.divide(hoursInADay, 3,
RoundingMode.HALF_UP);
BigDecimal count = BigDecimal.ZERO;
for (int i = 1; i <= 24; i++) {
count = count.add(fraction);
}
if (BigDecimal.ONE.equals(count)) {
// accuracy level 100%
}
}
}
Run Code Online (Sandbox Code Playgroud)