/*static function*/ public static string tostring(rational a) { if (a.sign == 10) { return("indifinite(未定義)"); } if (a.sign == 11) { return("impossible(不可)"); } if (a.sign == 12) { return("any(不定)"); } if (a.sign == 8) { return("+∞"); } if (a.sign == -8) { return("-∞"); } if (a.sign == 18) { return("±∞"); } if (a.sign == 2) { return("+0(無限小)"); /*未設定*/ } if (a.sign == -2) { return("-0(無限小)"); /*未設定*/ } if (a.sign == 0) { return("0"); } string den = ""; if (a.denom != 1) { den = "/" + a.denom.ToString(); } string exp = ""; if (a.expon != 0) { exp = "×10^" + a.expon.ToString(); } return(((a.sign == 1)?"":"-") + a.numer.ToString() + den + exp); }
public rational(decimal denominator, decimal numerator) { rational a = new rational(denominator, numerator, 0, "+"); numer = a.numer; denom = a.denom; expon = a.expon; sign = a.sign; }