首先,我会得到的位数(例如,对于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)
}
这是一个家庭作业?堆栈溢出不是让您为您解决家庭作业分配的地方。 – SU3
@ SU3不,我只是想不出解决方案。 –