2011-10-26 22 views
2

我試圖編碼一個textField,以便某人放入數字1只會顯示10,如果放在數字01中它會顯示01. 我遇到的問題是,當我編碼一個if語句,它似乎不能讀取數字開頭的0,所以我最終得到了010或者只是1.如何在整數或字符串的開頭讀取0?然後將它們進行比較

我試圖使用整數但得到相同的結果並嘗試了==並比較字符串,但沒有。

NSString *millieString = [[NSString alloc]initWithFormat:@"%@",timeFieldMillie.text]; 


if([millieString compare:@"01"]){ 
timeFieldMillie.text = [[NSString alloc]initWithString:millieString]; 
} 
else if ([millieString compare:@"1"]){ 
timeFieldMillie.text = [[NSString alloc]initWithFormat:@"%@0", millieString]; 
} 

這可能是因爲第一個0沒有被讀取,但我似乎無法修復它。 我想做一個時間轉換器,這是毫秒,所以我需要它是2位數字。

感謝

回答

2
  • 使用-isEqualToString:,而不是
  • 你的內存泄漏
  • 字符串被重置,而無需做你的第一個if

這裏有一個簡單的版本:

if ([timeFieldMillie.text isEqualToString:@"1"]) 
    timeFieldMillie.text = [NSString stringWithString:@"01"]; 

或簡單地說:

if ([timeFieldMillie.text isEqualToString:@"1"]) 
    timeFieldMillie.text = @"01"; 
+0

多謝這個工作的享受。我原本試過的是等於,但是if語句的結構讓我覺得它不起作用。雖然你的幫助已經解決了這個問題。 –

0

你有沒有嘗試if ([millieString isEqualToString:@"01"])

-1

的NSString比較返回NSComparisonResult,儘量則應使用isEqualToString

相關問題