using System.Collections;
using System.Collections.Generic;
using UnityEngine;
///
/// 分数的加减乘除运算符重载
///
public class Rfloat
{
private float fNumerator = 0f;
private float fDenominator = 0f;
public Rfloat(float numerator, float denominator)
{
fNumerator = numerator;
fDenominator = denominator;
}
public static Rfloat operator +(Rfloat a, Rfloat b)
{
var denominator = a.fDenominator * b.fDenominator;
var numerator = a.fNumerator * b.fDenominator + b.fNumerator * a.fDenominator;
return new Rfloat(numerator, denominator);
}
public static Rfloat operator -(Rfloat a, Rfloat b)
{
var denominator = a.fDenominator * b.fDenominator;
var numerator = a.fNumerator * b.fDenominator - b.fNumerator * a.fDenominator;
return new Rfloat(numerator, denominator);
}
public static Rfloat operator *(Rfloat a, Rfloat b)
{
var denominator = a.fDenominator * b.fDenominator;
var numerator = a.fNumerator * b.fNumerator;
return new Rfloat(numerator, denominator);
}
public static Rfloat operator /(Rfloat a, Rfloat b)
{
var denominator = a.fDenominator * b.fNumerator;
var numerator = a.fNumerator * b.fDenominator;
return new Rfloat(numerator, denominator);
}
public float GetFloat()
{
return fNumerator / fDenominator;
}
}
(C#)分数的重载运算
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 不支持上传文件,所以就复制过来了。作者信息什么的都没删。对前端基本属于一窍不通,所以没有任何修改,反正用着没问题就...