假设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. 安装Window Services 提示错误 [SC] OpenSCManager FAILED 5

    通过CMD注册Windows服务 之前一直这样写一直也是注册成功,今天却遇到了问题SC Manager 失败 sc create  RenService binPath=  C:\Tools\Stat ...

  2. CENTOS 下 编译安装 tesseract-ocr 3.0.4 识别文字

    网上搜集了不少资料,发现目前Tesseract转移到了Github上,因此下载方式和以前略有差别,下文是参考了诸位达人(再此表示感谢)和自己的实际操作过程形成的.(1)首先安装依赖的leptonica ...

  3. 『Golang』跨平台TUI(基于文字的用户界面)库Terbox-Go文档翻译

    原文 package termbox import "github.com/nsf/termbox-go" termbox-go 是一个用于创建跨平台TUI(基于文本的用户界面)的 ...

  4. UNITY3D在IOS开发下的反射机制限制

    IOS上的反射是部分支持,支持使用反射读取源代码,但不支持使用反射动态生成可执行代码,下面是限制反射的命名空间:ProfilerReflection.EmitReflection.Emit.Save ...

  5. IOS 使用SDWebImage实现仿新浪微博照片浏览器

    使用第三方库SDWebImage实现仿新浪微博照片浏览器,可以下载图片缓存,点击之后滚动查看相片,具体效果如下: 代码如下: WeiboImageView.h: #import <UIKit/U ...

  6. PL/SQL异常

    CASE_NOT_FOUND CASE selector WHEN selector_value_1 THEN statements_1 WHEN selector_value_2 THEN stat ...

  7. 安卓开发笔记——关于图片的三级缓存策略(内存LruCache+磁盘DiskLruCache+网络Volley)

    在开发安卓应用中避免不了要使用到网络图片,获取网络图片很简单,但是需要付出一定的代价——流量.对于少数的图片而言问题不大,但如果手机应用中包含大量的图片,这势必会耗费用户的一定流量,如果我们不加以处理 ...

  8. Could not get BatchedBridge, make sure your bundle is packaged correctly

    react-native 运行android项目的时候运行成功但是模拟器上会提示: Could not get BatchedBridge, make sure your bundle is pack ...

  9. Traffic Lights

    Traffic Lights time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...

  10. MyBatis 入门

    什么是 MyBatis ? MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手工设置参数以及抽取结果集.MyBatis ...