敲级简单的东西 不过因为自己的电脑经常被自己瞎折腾所以保存一份到这里洛 万一以后用的上呢
用于字符串数字的转换 比如将10000 变成1.0万 这样用来显示更加的人性化一些暂时是只写了 万和亿的转换,其实实质都一样 可以自行自定义自己想要的方式。
public class NumberUtil {
public static String changeUtil(int i) {
return changeUtil(String.valueOf(i));
}
public static String changeUtil(String str) {
String util = "";
int i = str.length();
if (i < 5) {
util = "";
}
if (i < 9 && i >= 5) {
str = str.substring(0, str.length() - 2);
str = Change(str);
util = "万";
}
if (i >= 9) {
str = str.substring(0, str.length() - 6);
str = Change(str);
util = "亿";
}
return str + util;
}
// 小数点后一位的4舍5入
private static String Change(String str) {
// 小数点的后面第二位
int end = Integer.valueOf(str.substring(str.length() - 1));
// 小数点的后一位
int change = Integer.valueOf(str.substring(str.length() - 2, str.length() - 1));
System.out.println(change);
// 整数部分
String s = str.substring(0, str.length() - 2);
if (end > 4) {
change += 1;
}
str = s + "." + change;
return str;
}
效果:
int i =376435500;
System.out.printf( changeUtil(i));
结果:
3.8亿
这个是用来在字符串里添加指定字符串的方法 头尾不添加 毕竟头尾添加 直接用+ 就可以解决了
//str 原字符创 addstr需添加的 i 添加间隔
public static String addStr(String str,String addstr,int i){
StringBuffer sb = new StringBuffer(str);
for(int index = i;index<sb.length();index=index+i+addstr.length()){
sb.insert(index, addstr);
}
return sb.toString();
}
}
效果:
String str = abcdefgh;
String addstr = " "; //空格
System.out.printf(addStr(str,addstr,1));
结果:
a b c d e f g h