类 Fraction

java.lang.Object
java.lang.Number
org.hipparchus.fraction.Fraction
所有已实现的接口:
Serializable, Comparable<Fraction>, FieldElement<Fraction>

public class Fraction extends Number implements FieldElement<Fraction>, Comparable<Fraction>, Serializable
有理数的表示。
另请参阅:
  • 字段详细资料

    • TWO

      public static final Fraction TWO
      代表“2 / 1”的分数。
    • ONE

      public static final Fraction ONE
      代表“1”的分数。
    • ZERO

      public static final Fraction ZERO
      代表“0”的分数。
    • FOUR_FIFTHS

      public static final Fraction FOUR_FIFTHS
      代表“4/5”的分数。
    • ONE_FIFTH

      public static final Fraction ONE_FIFTH
      代表“1/5”的分数。
    • ONE_HALF

      public static final Fraction ONE_HALF
      代表“1/2”的分数。
    • ONE_QUARTER

      public static final Fraction ONE_QUARTER
      代表“1/4”的分数。
    • ONE_THIRD

      public static final Fraction ONE_THIRD
      代表“1/3”的分数。
    • THREE_FIFTHS

      public static final Fraction THREE_FIFTHS
      代表“3/5”的分数。
    • THREE_QUARTERS

      public static final Fraction THREE_QUARTERS
      代表“3/4”的分数。
    • TWO_FIFTHS

      public static final Fraction TWO_FIFTHS
      代表“2/5”的分数。
    • TWO_QUARTERS

      public static final Fraction TWO_QUARTERS
      代表“2/4”的分数。
    • TWO_THIRDS

      public static final Fraction TWO_THIRDS
      代表“2/3”的分数。
    • MINUS_ONE

      public static final Fraction MINUS_ONE
      代表“-1 / 1”的分数。
  • 构造器详细资料

    • Fraction

      public Fraction(double value) throws MathIllegalStateException
      给定双精度值创建一个分数。
      参数:
      value - 要转换为分数的双精度值。
      抛出:
      MathIllegalStateException - 如果连分数失败导致无法收敛。
    • Fraction

      public Fraction(double value, double epsilon, int maxIterations) throws MathIllegalStateException
      给定双精度值和允许的最大误差创建一个分数。

      参考:

      参数:
      value - 要转换为分数的双精度值。
      epsilon - 允许的最大误差。结果分数与value的绝对值在epsilon范围内。
      maxIterations - 最大收敛次数
      抛出:
      MathIllegalStateException - 如果连分数失败导致无法收敛。
    • Fraction

      public Fraction(double value, int maxDenominator) throws MathIllegalStateException
      给定双精度值和最大分母创建一个分数。

      参考:

      参数:
      value - 要转换为分数的双精度值。
      maxDenominator - 分母的最大允许值
      抛出:
      MathIllegalStateException - 如果连分数失败导致无法收敛
    • Fraction

      public Fraction(int num)
      从整数创建一个分数。该分数为num / 1。
      参数:
      num - 分子。
    • Fraction

      public Fraction(int num, int den)
      给定分子和分母创建一个分数。将分数化简为最简形式。
      参数:
      num - 分子。
      den - 分母。
      抛出:
      MathRuntimeException - 如果分母为
  • 方法详细资料

    • convergents

      public static Stream<Fraction> convergents(double value, int maxConvergents)
      从实数生成一系列收敛分数的流。
      参数:
      value - 要逼近的值
      maxConvergents - 最大收敛次数。
      返回:
      逼近valueFraction收敛分数流
      从以下版本开始:
      2.1
    • convergent

      public static Pair<Fraction,Boolean> convergent(double value, int maxConvergents, Fraction.ConvergenceTest convergenceTest)
      返回收敛步骤系列的最后一个元素,以逼近给定值。

      该系列在满足给定的convergenceTest或最多检查maxConvergents个元素后终止。返回的Pair由终端的Fraction和一个Boolean组成,指示它是否满足给定的收敛测试。如果返回的pair的值为false,则检查了位置maxConvergents的元素,但未能满足convergenceTest。调用者可以决定是否接受结果,或者丢弃它。如果只关注终端元素,则此方法通常比convergents(double, int)更快。

      参数:
      value - 要逼近的值
      maxConvergents - 要检查的最大收敛数
      convergenceTest - 系列是否在某一步收敛的测试
      返回:
      收敛元素系列的最后一个元素和一个布尔值,指示该元素是否满足指定的收敛测试
    • getReal

      public double getReal()
      获取数字的实际值。
      指定者:
      getReal 在接口中 FieldElement<Fraction>
      返回:
      实际值
    • isInteger

      public boolean isInteger()
      检查分数是否为整数。
      返回:
      如果分数是整数,则为true
    • signum

      public int signum()
      返回此分数的符号函数。

      如果指定值为负,则返回值为-1;如果指定值为零,则返回值为0;如果指定值为正,则返回值为1。

      返回:
      此分数的符号函数
      从以下版本开始:
      1.7
    • abs

      public Fraction abs()
      返回此分数的绝对值。
      返回:
      绝对值。
    • compareTo

      public int compareTo(Fraction object)
      根据大小将此对象与另一个对象进行比较。
      指定者:
      compareTo 在接口中 Comparable<Fraction>
      参数:
      object - 要比较的对象
      返回:
      如果此小于object,则为-1;如果此大于object,则为+1;如果它们相等,则为0。
    • doubleValue

      public double doubleValue()
      将分数作为double获取。这将分数计算为分子除以分母。
      指定者:
      doubleValue 在类中 Number
      返回:
      分数作为double
    • equals

      public boolean equals(Object other)
      测试两个分数是否相等。如果两个分数的最简分子和分母相同,则认为两个分数相等。
      覆盖:
      equals 在类中 Object
      参数:
      other - 要测试是否等于此分数的分数
      返回:
      如果两个分数相等,则为true;如果对象为null、不是Fraction的实例,或不等于此分数实例,则为false。
    • floatValue

      public float floatValue()
      将分数作为float获取。这将分数计算为分子除以分母。
      指定者:
      floatValue 在类中 Number
      返回:
      分数作为float
    • getDenominator

      public int getDenominator()
      访问分母。
      返回:
      分母。
    • getNumerator

      public int getNumerator()
      访问分子。
      返回:
      分子。
    • hashCode

      public int hashCode()
      为分数获取哈希码。
      覆盖:
      hashCode 在类中 Object
      返回:
      此对象的哈希码值
    • intValue

      public int intValue()
      将分数作为int获取。这返回分数的整数部分。
      指定者:
      intValue 在类中 Number
      返回:
      整数部分分数
    • longValue

      public long longValue()
      将分数作为long获取。这返回分数的整数部分。
      指定者:
      longValue 在类中 Number
      返回:
      整数部分分数
    • negate

      public Fraction negate()
      返回此分数的加法逆元。
      指定者:
      negate 在接口中 FieldElement<Fraction>
      返回:
      此分数的否定。
    • reciprocal

      public Fraction reciprocal()
      返回此分数的乘法逆元。
      指定者:
      reciprocal 在接口中 FieldElement<Fraction>
      返回:
      倒数分数
    • add

      public Fraction add(Fraction fraction)
      将此分数的值与另一个分数的值相加,以简化形式返回结果。该算法遵循Knuth, 4.5.1。
      指定者:
      add 在接口中 FieldElement<Fraction>
      参数:
      fraction - 要相加的分数,不能为null
      返回:
      具有结果值的Fraction实例
      抛出:
      NullArgumentException - 如果分数为null
      MathRuntimeException - 如果结果的分子或分母超过Integer.MAX_VALUE
    • add

      public Fraction add(int i)
      将整数添加到分数。
      参数:
      i - 要添加的integer
      返回:
      this + i
    • subtract

      public Fraction subtract(Fraction fraction)
      从此值减去另一个分数的值,以简化形式返回结果。
      指定者:
      subtract 在接口中 FieldElement<Fraction>
      参数:
      fraction - 要减去的分数,不能为null
      返回:
      具有结果值的Fraction实例
      抛出:
      NullArgumentException - 如果分数为null
      MathRuntimeException - 如果结果的分子或分母无法表示为int
    • subtract

      public Fraction subtract(int i)
      从分数中减去整数。
      参数:
      i - 要减去的integer
      返回:
      this - i
    • multiply

      public Fraction multiply(Fraction fraction)
      将此分数的值乘以另一个分数的值,以简化形式返回结果。
      指定者:
      multiply 在接口中 FieldElement<Fraction>
      参数:
      fraction - 用于相乘的分数,不得为null
      返回:
      具有结果值的Fraction实例
      抛出:
      NullArgumentException - 如果分数为null
      MathRuntimeException - 如果结果的分子或分母超过Integer.MAX_VALUE
    • multiply

      public Fraction multiply(int i)
      将分数乘以整数。
      指定者:
      multiply 在接口中 FieldElement<Fraction>
      参数:
      i - 要乘以的整数
      返回:
      this * i
    • divide

      public Fraction divide(Fraction fraction)
      将此分数的值除以另一个分数。
      指定者:
      divide 在接口中 FieldElement<Fraction>
      参数:
      fraction - 要除以的分数,不得为null
      返回:
      具有结果值的Fraction实例
      抛出:
      IllegalArgumentException - 如果分数为null
      MathRuntimeException - 如果要除以的分数为零
      MathRuntimeException - 如果结果的分子或分母超过Integer.MAX_VALUE
    • divide

      public Fraction divide(int i)
      将分数除以整数。
      参数:
      i - 要除以的整数
      返回:
      this * i
    • percentageValue

      public double percentageValue()
      double形式获取分数百分比。这将计算分数作为分子除以分母乘以100。
      返回:
      分数百分比作为double
    • getReducedFraction

      public static Fraction getReducedFraction(int numerator, int denominator)
      创建具有分数Y/Z的2部分的Fraction实例。

      任何负号都解析为在分子上。

      参数:
      numerator - 分子,例如'three sevenths'中的three
      denominator - 分母,例如'three sevenths'中的seven
      返回:
      具有简化的分子和分母的新分数实例
      抛出:
      MathRuntimeException - 如果分母为zero
    • toString

      public String toString()
      返回表示此分数的String,即"num / dem"或如果分母为一则为"num"。
      覆盖:
      toString 在类中 Object
      返回:
      分数的字符串表示形式。
      另请参阅:
    • getField

      public FractionField getField()
      获取实例所属的Field
      指定者:
      getField 在接口中 FieldElement<Fraction>
      返回:
      实例所属的Field