objective-c - 如何在 objective-c 中使用分数进行计算

标签 objective-c ios

我是 objective-c 的新手,我开始学习iOS开发的基础知识。

如何在 objective-c 中轻松计算分数?

示例1: 1/8000 * 60

示例2: 1/640 / 1/400

我也需要将结果(如果其<1)作为分数。

最佳答案

我想我将实现一个新类,例如Fraction,它具有两个属性,分子和分母。然后,我将实现以下四个功能(如果需要,可以实现更多):

- (Fraction*) add:(Fraction*)operand;
- (Fraction*) subtract:(Fraction*)operand;
- (Fraction*) multiply:(Fraction*)operand;
- (Fraction*) divide:(Fraction*)operand;
- (Fraction*) invert;
+ (Fraction*) fractionByAdding:(Fraction*)op1 to:(Fraction*)op2;
+ (Fraction*) fractionBySubtracting:(Fraction*)op1 from:(Fraction*)op2;
+ (Fraction*) fractionByMultiplying:(Fraction*)op1 with:(Fraction*)op2;
+ (Fraction*) fractionByDuviding:(Fraction*)op1 by:(Fraction*)op2;
+ (Fraction*) fractionByInverting:(Fraction*)operand;

在这些方法中,请执行您在学校学习的常用算术。记住要简化分子和分母是否具有共同的除数。

编辑:这些功能之一的示例实现:
- (Fraction*) add:(Fraction*)operand {
    return [Fraction fractionByAdding:self to:operand];
}

+ (Fraction*) fractionByAdding:(Fraction*)op1 to:(Fraction*)op2 {
    int num = (op1.numerator * op2.denominator) + (op2.numerator * op1.denominator);
    int denom = op1.denominator * op2.denominator;
    return [[Fraction alloc] initWithNumerator:num andDenominator:denom];
}

(可选)您可以添加reducesimplify方法,还可以添加allowReducible属性和isIrreducible方法。您还可以实现isEqualcompareTo方法。 description应该只将“a / b”打印为NSString

关于objective-c - 如何在 objective-c 中使用分数进行计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10814152/

相关文章:

ios - items' 产生 '(Source) -> Disposable' ,而不是 UICollectionLayout 的预期上下文结果类型 '(_) -> _' 错误

ios - 核心数据对象唯一ID

iphone - 在 iOS 中更快地将图像上传到服务器

IO 直接从 UDP 流 (NSData) 播放原始音频

ios - 我丢失了我的公钥。我可以从私钥中恢复它吗?

iphone - 删除了所有证书/ key ,现在无法将推送通知推送到部署到应用商店的应用

iOS:创建一个可以被不同对象使用的方法?

iPhone setDelegate 到之前分配的对象

ios - UILabel 未在原型(prototype)单元中呈现

ios - 如果 linkedin 应用程序已安装在 iPhone 设备中,则 Swift 3 linkedin 集成条件