2017-04-27 30 views
0

我有一個要求:如何獲得輪數,如果使用給定的規則

我想有一個函數,這樣,如果該號碼爲:323.01我想返回500

如果號碼是678.60,我想獲得1000。如果號碼是20.0,我想要50

如果號碼是8,我想要10

是這樣的:如果該號碼的第一個數字,如果低於5,我希望得到5,如果超過5,我想10

如何在Objective-C中實現這個功能?


我只是想想這個,我只知道用%獲得一定數目的最後一個數字,我不知道如何獲得給定數的第一個數字。

+0

這是一個家庭作業?堆棧溢出不是讓您爲您解決家庭作業分配的地方。 – SU3

+0

@ SU3不,我只是想不出解決方案。 –

回答

1

首先,我會得到的位數(例如,對於456是3):

var originalNumber = 456 
var counter = 0 
var number = originalNumber 
while(number != 0){ 
    counter = counter + 1 
    number = number/10 
} 

從那裏,你可以用計數器的指數測試它的5或10。

if (originalNumber < pow(10, counter - 1) * 5){ 
    number = pow(10, counter - 1) * 5 
} 
else { 
    number = pow(10, counter) 
} 

我重複使用數字變量,您可以返回它或分配給其他變量。

編輯:剛剛發現這面旗幟是Objective - C的,同樣適用

Double originalNumber = 456; 
int counter = 0; 
int number = (int) originalNumber; 
while(number != 0) { 
    counter = counter + 1; 
    number = number/10; 
} 

if(originalNumber < pow(10,counter - 1) * 5){ 
    number = pow(10, counter -1) * 5; 
} 
else { 
    number = pow(10, counter) 
} 
相關問題