2013-08-03 17 views
-1

我有一個浮點值,我需要的是將我的浮點數轉換爲日期。例如,我有浮動50,55,我想穿上這樣的標籤值:50年6個月6小時6分30,04秒。如何將浮點數轉換爲日期格式?

我想知道如何讓這個標籤每0.01秒更改一次價值。請提供我解決方案將我的浮點值轉換爲日期格式,任何幫助將不勝感激。

這是我的代碼用於創建我的浮動:

-(float)calculationResult{ 

    lifeTime = (kCountry +kEdu - kBirth - kSmo -kAlco+kDis+kHap+kDri+kMar)*kWei*kEnv*kSle; 

    return lifeTime; 
} 
+1

你想要什麼?浮點數不夠精確。幾年和幾個月有不同的天數,沒有人可以每秒看到100個值。請告訴我你不想每隔一秒鐘顯示一次。看看TimeSpan課程。 –

+0

我的浮點數是多少年,這可能是不夠的?如果你的意思是假肢年,我想所有年份都是平等的,並且有365天 –

+0

@EvgeniyKleban:一秒鐘是大約3e-08年,這超出了浮點精度,你至少需要一倍。 - 一個月有多少天需要計算? –

回答

1

下面的代碼拆分的「分數年」給定的數字爲 年,月,日,小時。它做出了簡化的假設:每年 有365天,而一個月恰好是一年的1/12。

float tmp = lifeTime; 
int years = tmp; 
tmp = (tmp - years) * 12.; 
int months = tmp; 
tmp = (tmp - months) * 365./12.; 
int days = tmp; 
tmp = (tmp - days) * 24.; 
int hours = tmp; 

NSString *str = [NSString stringWithFormat:@"%d years %d month %d days %d hours ", 
       years, months, days, hours]; 

定期更新一個標籤,你可以使用NSTimer類(但每次更新1/100秒是太頻繁)。

+0

它的工作,非常感謝你。 –

相關問題