- import java.math.BigDecimal;
- import java.text.DecimalFormat;
- public class DoubleTest {
- public static void main(String[] args) {
- Double d=1.236325;
- /*乘以100并强制转换为int型,然后再除以100.0
- 截取两位小数,不会四舍五入*/
- Double d1=(int)(d*100)/100.0;
- System.out.println(d);
- System.out.println(d1);
- //类似上面的,利用Math.round方法
- Double d2=Math.round(d*100)/100.0;
- System.out.println(d2);
- //用DecimalFormat,会四舍五入
- DecimalFormat df=new DecimalFormat(".00");
- Double d3=Double.parseDouble(df.format(d));
- System.out.println(d3);
- //利用String的format方法
- String str1=String.format("%.2f",d);
- Double d4=Double.parseDouble(str1);
- System.out.println(d4);
- //利用String的substring方法
- String str2=d.toString();
- str2=str2.substring(0,str2.indexOf(".")+3);
- Double d5=Double.parseDouble(str2);
- System.out.println(d5);
- //利用BigDecimal的setScale方法
- BigDecimal bd=new BigDecimal(d);
- double d6=bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
- System.out.println(d6);
- }
- }
复制代码
|