Fraction構造体
分数(32ビット符号なし整数の分子・分母+符号)を表します。
名前空間:BestWare.Library
アセンブリ:Fraction.dll
構文
[SerializableAttribute] public struct Fraction : IEquatable<Fraction>, IComparable<Fraction>
コンストラクタ
名前 | 説明 |
---|---|
Fraction(Double) | 指定した実数(Double)で初期化します。 |
Fraction(Decimal) | 指定した実数(Decimal)で初期化します。 |
Fraction(Int32, UInt32) | 指定した分子、分母で初期化します。 |
Fraction(UInt32, UInt32, FractionState) |
指定した分子、分母、状態で初期化します。 |
プロパティ
名前 | 説明 |
---|---|
Value | 分数の分子を取得します。 |
Scale | 分数の分母を取得します。 |
State | 分数の状態を取得します。 |
Sign | 分数の符号を取得します。 |
メソッド
名前 | 説明 |
---|---|
CompareTo(Fraction) | 指定した値と大小を比較した結果を返します。 |
Equals(Object) | 指定した値と等しいかどうかを示す値を返します。 |
Equals(Fraction) | 指定した値と等しいかどうかを示す値を返します。 |
GetHashCode() | ハッシュコードを返します。 |
GetGcm(UInt32, UInt32) | 最大公約数(UInt64)を求めます。 |
GetLcm(UInt32, UInt32) | 最小公倍数(UInt64)を求めます。 |
IsInvalid() | 不定な値であるかを判断します。 不正(Scaleが0)の場合にTrueを返します。 |
Normal() | 正常値を返します。 不正(Scaleが0)の場合に0/1を返します。 |
Reduce() | 約分値を返します。 |
四則演算 | 四則演算した結果を返します。 (+, -, *, /) |
比較演算 | 比較演算した結果を返します。 (==, !=, <, >, <=, >=) |
キャスト | Decimal、Double、Int32、UInt32 |
使用例
var x = new Fraction(0.5); // 1/2 var y = new Fraction(1, 3); // 1/3 var z0 = x + y; // 加算 var z1 = x - y; // 減算 var z2 = x * y; // 乗算 var z3 = x / y; // 除算 if(x > y) // 比較 Debug.WriteLine(x.ToString()); else Debug.WriteLine(y.ToString());