2011-09-04 44 views
1

我正在使用iOS,我希望能夠在解答一個答案後乘以小數。這是我到目前爲止:如何乘以十進制

float minutes = ([time.text floatValue]); 
float distance = minutes/([miles.text floatValue]); 

label.text = [[NSString alloc] initWithFormat:@"%.2f", distance]; 

這是可能的只是乘以其餘60完成後? 例如,如果我把50除以3,它給我16.66作爲答案。我想要乘以這個.66。

+0

可能重複的[如何使我的計算器正確計算時間](http://stackoverflow.com/questions/7302310/how-to-make-my-calculator-compute-time-correctly) –

+2

你能澄清一下你需要做什麼?什麼是「小數?」 –

+0

什麼是「我想增加這個.66」。意思? – PengOne

回答

0

我要猜測你在問什麼,因爲我無法從你的問題中辨別出它。它看起來像你試圖從時間和距離計算出一個步伐,並以時間/距離爲單位顯示它。如果這是你想要做什麼,那麼你的代碼應該是這個樣子:

float mins = [time.text floatValue]; 
float dist = [miles.text floatValue]; 
float pace = mins/dist; 

min:sec格式正確顯示的速度,你可以這樣做:

int minutes = (int)pace; // casting truncates the decimal part 
int seconds = (int)((pace - minutes) * 60); 

現在你可以顯示速度

NSLog(@"%d:%d",minutes,seconds); 

如果這不是你在做什麼,那麼請澄清你的問題。

+0

這正是我想要做的。 – parker

+0

@parker:太好了。如果這對你有用,那麼請點擊那個小複選標記來表示它的工作。否則,讓我知道你是否卡在某個地方。 – PengOne

+0

謝謝一堆。我一直在尋找這個很長的時間。 – parker

0

我不完全確定你在問什麼,但我想你想得到你的數字的小數部分。

要檢索的結果的小數部分,使用floor

float fraction = result - floor(result); 

結果:

 result = 50.0/3 

     fraction = 16.666666 - 16.000000 

     fraction = 0.666666 

減去一個數的floor從數字給出的分數。 (floor函數可以去除小數部分(向下舍入),從而可以通過減法來檢索它。)