代码之家  ›  专栏  ›  技术社区  ›  Moshe

计算目标c的利息?

  •  1
  • Moshe  · 技术社区  · 14 年前

    NSNumber *bankTemp = [[NSNumber alloc] initWithInt:[[NSUserDefaults standardUserDefaults] integerForKey:@"bank"]];  
    bankTemp = bankTemp + (bankTemp * .10);
    [[NSUserDefaults standardUserDefaults] setInteger:bankTemp forKey:@"bank"];
    

    bankTemp 是100美元。我很肯定我在中间路线上做错了什么。我能做些什么来纠正它?

    编辑:这不是家庭作业。我正在开发一个交易游戏应用程序。

    编辑:

    我已经走了这么远:

            NSNumber *bankTemp = [[NSNumber alloc] initWithInt:[[NSUserDefaults standardUserDefaults] integerForKey:@"bank"]];  
            bankTemp = [bankTemp intValue] * 1.10;
            [[NSUserDefaults standardUserDefaults] setInteger:[bankTemp intValue] forKey:@"bank"];
    

    编辑:

    为了对付美分,我。。。忽略它们!

    我很好奇,看看人们有什么办法来处理美分,所以请继续张贴你的想法美分。

    3 回复  |  直到 14 年前
        1
  •  3
  •   Chuck    14 年前

    你不需要一个号码。NSNumber是一个围绕基本数字类型的类,因此您可以将它们用于例如Cocoa集合。如果你想做数学,你应该只使用原语。只要做:

    NSInteger bankTemp = [[NSUserDefaults standardUserDefaults] integerForKey:@"bank"];  
    bankTemp = bankTemp + bankTemp * 0.10;
    [[NSUserDefaults standardUserDefaults] setInteger:bankTemp forKey:@"bank"];
    

        2
  •  1
  •   Steven Fisher    14 年前

    最重要的问题是你不能用这种方法把一个数字相乘。NSNumber是实例,而不是标量类型。坚持实数相乘,如浮点数或整数。

        3
  •  1
  •   Caladain    14 年前

    编辑:划掉它,你不能用NSInteger做那样的乘法。

    如果你只想知道一个值的10%是多少,就做value*0.10

    如果你打算每月计算一次利息,或者考虑一段时间后的利息,你需要使用其中一个公式。