Java查漏补缺系列——关于保留位数,四舍五入的方法

来源:互联网 发布:github 建站 打死 编辑:程序博客网 时间:2024/06/05 17:03

今天遇到了一个基础题目,在这里总结一下。

题目如下:
数据类型之间的转:
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);       } }
0 0