您的位置:首页 > 其它

字符串、数字常用操作

2016-08-04 11:33 183 查看
目录:

1、左补0操作;

2、右边补空格;

3、去掉字符串前面0;

4、截取小数点后两位;

5、四舍五入,保留小数点后两位;

功能:

1、左补0操作:

/**
* 左边补0
* @param length 格式化数字长度
* @param number 格式化数字
* @return 格式化后数字。(如length:5,number:200,结果:00200)
*/
public static String lpadZero(int length, Long number) {
String f = "%0" + length + "d";
return String.format(f, number);
}


测试示例:

public static void main(String[] args) {
int length = 8;
Long num = 200L;
String val = lpadZero(length, num);
System.out.println("左边补0操作:"+val);
}


运行结果:



2、右边补空格

/**
* 右边补空格
* @param length 格式化字符串长度
* @param val 格式化字符串
* @return 格式化后字符串。(如length:5,val:200,结果:200  )
*/
public static String lpadSpace(int length, String val) {
return String.format("%1$-"+length+"s",val);
}


测试示例:

public static void main(String[] args) {
int length = 8;
String str = "hello";
String val = lpadSpace(length, str);
System.out.println("右边补空格操作:"+val);
}


运行结果:



3、去掉字符串前面0

/**
* 去掉字符串前面0
* @param str
* @return 格式化后字符串。(如str:002,结果:2)
*/
public static String deleteFirstZero(String str) {
return str.replaceAll("^(0+)", "");
}


测试示例:

public static void main(String[] args) {
String str = "000000200";
String val = deleteFirstZero(str);
System.out.println(val);
}


运行结果:



4、截取小数点后两位

/**
* 截取小数点后两位
* @param f 值
* @return 格式化后的值
*/
public static String doubleDowForM2(Double f) {
DecimalFormat df = new DecimalFormat("0.00");
df.setRoundingMode(RoundingMode.DOWN); // 截取操作
return df.format(f);
}


测试示例1:

public static void main(String[] args) {
Double doub = 2.56899;
String str = doubleDowForM2(doub);
System.out.println(str);
}


运行结果1:



测试示例2:

public static void main(String[] args) {
//        Double doub = 2.56899;
Double doub = 2.533333;
String str = doubleDowForM2(doub);
System.out.println(str);
}


运行结果2:



5、四舍五入,保留小数点后两位

/**
* 四舍五入,保留小数点后两位
* @param f
* @return
*/
public static String doubleDowForM2Rounding(Double f) {
DecimalFormat df = new DecimalFormat("0.00");
return df.format(f);
}


测试示例1:

public static void main(String[] args) {
Double doub = 2.56899;
String str = doubleDowForM2Rounding(doub);
System.out.println(str);
}


运行结果1:



测试示例2:

public static void main(String[] args) {
//        Double doub = 2.56899;
Double doub = 2.533333;
String str = doubleDowForM2Rounding(doub);
System.out.println(str);
}


运行结果2:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: