2015-10-08 24 views
0

我有以下代碼:爲什麼NSExpression不正確地評估這個數學表達式?

NSExpression *expression; 

@try { 
    expression = [NSExpression expressionWithFormat:@"20/100*200"]; 

    NSNumber *result = [expression expressionValueWithObject:nil context:nil]; 
} 
@catch(NSException *exception){} 

不知怎的,我得到回結果是0一個NSNumber,而不是40。我究竟做錯了什麼?

回答

2

它正在做一個整數除法,而不是一個浮點數。試試這個:

expression = [NSExpression expressionWithFormat:@"20.0/100*200"]; 
+0

謝謝,你是對的! – mattsven