假设x是你要转换的double类型变量:

不进行四舍五入操作: (int)x

进行四舍五入操作: Integer.parseInt(new java.text.DecimalFormat("0").format(x));

DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。该类设计有各种功能,使其能够分析和格式化任意语言环境中的数,包括对西方语言、阿拉伯语和印度语数字的支持。它还支持不同类型的数,包括整数 (123)、定点数 (123.4)、科学记数法表示的数 (1.23E4)、百分数 (12%) 和金额 ($123)。所有这些内容都可以本地化。

DecimalFormat 包含一个模式 和一组符号

符号含义:

符号     位置     本地化?     含义
0     数字     是     阿拉伯数字
#     数字字     是     阿拉伯数字,如果不存在则显示为空
.     数字     是     小数分隔符或货币小数分隔符
-     数字     是     减号
,     数字     是     分组分隔符
E     数字     是     分隔科学计数法中的尾数和指数。在前缀或后缀中无需加引号。
;     子模式边界     是     分隔正数和负数子模式
%     前缀或后缀     是     乘以 100 并显示为百分数
/u2030     前缀或后缀     是     乘以 1000 并显示为千分数
¤(/u00A4)     前缀或后缀     否     货币记号,由货币符号替换。如果两个同时出现,则用国际货币符号替换。如果出现在某个模式中,则使用货币小数分隔符,而不使用小数分隔符。
'     前缀或后缀     否     用于在前缀或或后缀中为特殊字符加引号,例如 "'#'#" 将 123 格式化为 "#123"。要创建单引号本身,请连续使用两个单引号:"# o''clock"。

例子:

[java] view plain copy

    DecimalFormat df1 = new DecimalFormat("0.0");   
    DecimalFormat df2 = new DecimalFormat("#.#");   
    DecimalFormat df3 = new DecimalFormat("000.000");   
    DecimalFormat df4 = new DecimalFormat("###.###");   
    System.out.println(df1.format(12.34));   
    System.out.println(df2.format(12.34));   
    System.out.println(df3.format(12.34));   
    System.out.println(df4.format(12.34));   

运行结果:
12.3
12.3
012.340
12.34  

[java] view plain copy

    DecimalFormat format = new DecimalFormat("###,####.000");   
    System.out.println(format.format(111111123456.1227222));   
      
    Locale.setDefault(Locale.US);   
    DecimalFormat usFormat = new DecimalFormat("###,###.000");   
    System.out.println(usFormat.format(111111123456.1227222));   
      
    DecimalFormat addPattenFormat = new DecimalFormat();   
    addPattenFormat.applyPattern("##,###.000");   
    System.out.println(addPattenFormat.format(111111123456.1227));   
      
    DecimalFormat zhiFormat = new DecimalFormat();   
    zhiFormat.applyPattern("0.000E0000");   
    System.out.println(zhiFormat.format(10000));   
    System.out.println(zhiFormat.format(12345678.345));   
      
    DecimalFormat percentFormat = new DecimalFormat();   
    percentFormat.applyPattern("#0.000%");   
    System.out.println(percentFormat.format(0.3052222));   

运行结果 :
1111,1112,3456.123
111,111,123,456.123
111,111,123,456.123
1.000E0004
1.235E0007
30.522%
如果使用具有多个分组字符的模式,则最后一个分隔符和整数结尾之间的间隔才是使用的分组大小。所以 "#,##,###,####" == "######,####" == "##,####,####"。

double 类型转化为Integer类型 ---DecimalFormat的更多相关文章

  1. double 类型转化为Integer

    (1)把double先转化成int类型 Double reseve3=Double.parseDouble(bddet[0].getReserve3()); int b=reseve3.intValu ...

  2. Java 中要将 String 类型转化为 int 类型

    在 Java 中要将 String 类型转化为 int 类型时,需要使用 Integer 类中的 parseInt() 方法或者 valueOf() 方法进行转换. 例1: 1 2 3 4 5 6 S ...

  3. 将字符串类型转化为date类型

    直接上代码 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; pub ...

  4. asp.net如何把一个tostring类型转化为dateTime类型

    Convert.ToDateTime(dr["consult_DealTime"].ToString()).ToString("yyyy-MM-dd"); co ...

  5. C++中将string类型转化为int类型

    写程序需要将string转化为int,所以就探索了一下. 方法一:atoi函数 atoi函数将字符串转化为整数,注意需要stdlib库.所以就尝试了一下: #include <iostream& ...

  6. sqoop将mysql的tinyint类型转化为boolean类型

    当mysql中的字段为tinyint类型时,通过sqoop导入数据到hdfs上,在hdfs上显示的是true,false值.为了显示0,1. 解决方法: jdbc:mysql://<hostna ...

  7. JSTL将number类型转化为String类型

    <c:set var="lm1"> <c:out value="${lm}" /> </c:set>

  8. number类型转化为string类型

    toString 方法 string = toString(num) 缺点: 不能转化 underfind 和 null 2 String 方法 string = String(num) 可以转化 u ...

  9. Java中Object转化为int类型

    转自:http://blog.sina.com.cn/s/blog_5f8421fb010162kb.html Java中由Object类型转化为int类型时,不能直接转化,先是将Object类型转化 ...

随机推荐

  1. spring 集成 Hibernate4.3.X org.hibernate.service.jta.platform.spi.JtaPlatform异常

    使用Spring3.2.4集成Hibernate4.3.5时,出现以下异常 Causedby:java.lang.ClassNotFoundException:org.hibernate.servic ...

  2. 提高FOR插入数据库动作的优化代码

    await Task.Factory.StartNew(() => Parallel.ForEach(result.data.o, s => { sql = "insert in ...

  3. VS2005 / windows sdk7.1配置

    VS2005工程需要调用一些后期VS带的库 1. VS2005 安装顺序 1.vs20052.msdn(optional)3.VS80sp1-KB926601-X86-ENU_SP1.exe4.VS8 ...

  4. 多线程锁--怎么理解Condition

    在java.util.concurrent包中,有两个很特殊的工具类,Condition和ReentrantLock,使用过的人都知道,ReentrantLock(重入锁)是jdk的concurren ...

  5. [转]android开发之字节顺序

    原文在此 android上C++程序为小端字节顺序,和windows上一样. 而android上的JAVA程序则使用的是大端字节顺序. 用NDK和java SDK 做android程序时发现的问题,记 ...

  6. 说说lambda表达式与表达式树(未完)

    Lambda表达式可以转换成为代码(委托)或者数据(表达式树).若将其赋值给委托,则Lambda表达式将转换为IL代码:如果赋值给 Expression<TDelegate>,则构造出一颗 ...

  7. 测试卡尔曼滤波器(Kalman Filter)

    真实的温度测试数据,通过加热棒加热一盆水测得的真实数据,X轴是时间秒,Y轴是温度: 1)滤波前 2)滤波后(p=10, q=0.0001, r=0.05, kGain=0;) 2)滤波后(p=10, ...

  8. python 字符串翻转

    通过步进反转[::-1] ]##[::-1]通过步进反转print b

  9. ionic介绍

    ionic介绍 Ionic是一个前端的框架,帮助开发者使用HTML5, CSS3和JavaScript做出原生应用. The beautiful, open source front-end fram ...

  10. REHL5.5 linux的postfix的邮件服务器配置 (笔记)

    一.发送邮件服务器(smtp服务器) 1.系统安装时已经有postfix. 2.修改配置 1)vi main.cf //你可以先备份一下配置文件 myhostname = INMSC2//修改为你的主 ...