例如
public static void main(String[] args) {
int i = 65532;
i /= 6;
System.out.println(i);
}
输出
10922
则找出10000
public static void main(String[] args) {
int i = 216532;
i /= 6;
System.out.println(i);
}
输出
36088
则找出40000
package test2;
import java.math.BigDecimal;
/**
* @author wf
*/
public class TestUp {
public static void main(String[] args) {
int i = 216532;
i = i/6;
System.out.println(i);
System.out.println(getLowSize(i));
}
public static int getLowSize(int i) {
if (i == 0) {
return 0;
}
String str = i + "";
if (str.contains("-")) {
// 先去掉符号
str = str.substring(1);
}
// 得到最高位
int maxUnit = Integer.parseInt(str.charAt(0) + "");
int ten = new BigDecimal(1).scaleByPowerOfTen(str.length() - 1).intValue();
int min = i - maxUnit * ten;
int max = (maxUnit + 1) * ten -i;
return max > min ? maxUnit * ten : (maxUnit + 1) * ten;
}
}
先转字符串,判断i有几位数,比如是n位
然后判断10的n次方和10的n+1次方减去i谁小
源码贴再最下面
import java.util.*;
public class Main {
public static void main(String[] args) {
int i = 36088;
int p=(i+"").length();
double v=Math.pow(10,p-1);
int h=(int)v ;
int h1=h*(int)Math.ceil((double)i/h);
System.out.println(h1);
}
}
判断第二位是否比5小;
比5小:首位不变,后面的全改成0;
否则:首位加1,后面的全改成0
int i=123456;
String str= String.valueOf(i);
int len= str.length();
int oneNumber= Integer.parseInt(str.substring(0,1));
int twoNumber= Integer.parseInt(str.substring(1,2));
str=oneNumber+"";
System.out.println();
System.out.println(twoNumber);
if (twoNumber>=5){
oneNumber++;
}
for (int j=0;j<len-1;j++){
str+="0";
}
System.out.println(str);