在开发中涉及到String的用法总是记不清,所以就把它记下来了。
1、indexOf(str):
记忆方法:小数点几位就是取几。
例如:String str="89804.236";
str.indexOf(".")的值就是5
2、保留小数点后一位:
String str="89804.236";
int len=str.length();
3、除法中取数据保留小数点两位
DecimalFormat df = new DecimalFormat("#####0.00");
例1:System.out.println(172f/100); 结果是1.72
例2:System.out.println(172/100+""); 结果是1
例3:System.out.println(172%100);结果是72
4、保留两位小数遇到的问题
数据:String str1=172.563;
String str2=172.567;
例1:下面的这个方法默认是四舍五入
DecimalFormat df = new DecimalFormat("#####0.00");
System.out.println(df.format(str1)); 结果是:172.56
System.out.println(df.format(str2)); 结果是:172.57
例2:下面这个方法和例1一样
System.out.println(String.format("%.2f", str1)); 结果是172.56
System.out.println(String.format("%.2f", str2)); 结果是172.57
例3:只保留位数,多的舍去
str1.substring(0, str1.indexOf(".") +2+ 1);结果是:172.56
str2.substring(0, str2.indexOf(".") +2+ 1);结果是:172.56
小结果:str为需要保留的字符串,num是小数点后需要保留的位数
public String returnString(String str, int num) {
return str.substring(0, str.indexOf(".") + num + 1);
}
5、取值
String s = "2015-10-13 04:02:52";
System.out.println(s.substring(0, 10));
结果:2015-10-13
6、数值计算
double d1=12.2;
double d2=7.9;
System.out.println((d1-d2));
结果是:4.299999999999999
float d11=12.2f;
float d21=7.9f;
System.out.println((d11-d21));
结果是:4.2999997
其他的再续