今天遇到了一个基础题目,在这里总结一下。
题目如下:
数据类型之间的转:
1)如何将数值型字符转换为数字?
2)如何将数字转换为字符?
3)如何取小数点前两位并四舍五入?
回答如下:
1)调用数值类型相应包装类中的方法 parse—(String)或 valueOf(String),即可返回相应基本类型或包装类型数值
2)将数字与空字符串相加即可获得其所对应的字符串;另外对于基本类型数字还可调用String类中的valueOf(…)方法返回相应符串,而对于包装类型数字则可调用其toString()方法获得相应字符串
3)有三种方法:
package Base01;
//保留两位小数,四舍五入
public class Rounding {
//方法1
public void test1(double c){
java.text.DecimalFormat df = new java.text.DecimalFormat("#.##");
System.out.println(df.format(c));
}
//方法2
public void test2(double c){
java.math.BigDecimal bd = new java.math.BigDecimal(String.valueOf(c));
bd = bd.setScale(2,java.math.BigDecimal.ROUND_HALF_UP);//newScale:保留的位数 roundingMode:取舍的模式
System.out.println(bd);
}
//方法3
public void test3(double c){
long l1 = Math.round(c*100);//四舍五入
double ret = l1/100.0;//注意:使用100.0,而不是100
System.out.println(ret);
}
public static void main(String[] args){
double c = 3.0582343;
Rounding td2 = new Rounding();
td2.test1(c);
td2.test2(c);
td2.test3(c);
}
}