用NSPredicate(Objective C,iOS)划分方程

Pun*_*hit 0 objective-c ios

以下是如何使用NSPredicate执行此操作的示例:

    NSPredicate *p = [NSPredicate predicateWithFormat:@"1+2==3"];
    NSLog(@"%d", [p evaluateWithObject:nil]);
    p = [NSPredicate predicateWithFormat:@"1+2==4"];
    NSLog(@"%d", [p evaluateWithObject:nil]);
Run Code Online (Sandbox Code Playgroud)

第一个NSLog产生1,因为1 + 2 == 3为真; 第二个产生0.

问题在于等式

1/3==2/3
Run Code Online (Sandbox Code Playgroud)

该陈述将是真的,但1/3不等于2/3我该如何解决这个问题?

Ali*_*i3n 6

1/3和2/3都将具有0的整数值.在比较之前,Sp的类型下摆加倍/浮动尝试`(浮点)1/3 ==(浮点)2/3.你可以使用1.0/3 == 2.0/3