java小数位的例子

2014-03-22  来源:本站原创  分类:Java  人气:3 

在java中要保留数字小数位我们有常用的四种方法,分别为:四舍五入,DecimalFormat,format,String .format与struts标签操作实现,下面给出例子

方式一:
四舍五入
double f = 111231.5585;
四舍五入 保留两位小数,可以用String的format函数,
方法如下:

System.out.println(String.format("%.2f", x1));
System.out.println(String.format("%.2f", x2));

DecimalFormat转换最简便

复制代码 代码如下:

public void m2() {
       DecimalFormat df = new DecimalFormat("#.00");
       System.out.println(df.format(f));
}

例:new java.text.DecimalFormat(”#.00″).format(3.1415926)
#.00 表示两位小数 #.0000四位小数 以此类推…
方式三:

复制代码 代码如下:

double d = 3.1415926;
String result = String .format(”%.2f”);

%.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型。
方式四:
此外如果使用struts标签做输出的话,有个format属性,设置为format="0.00"就是保留两位小数
例如

复制代码 代码如下:

<bean:write name="entity" property="dkhAFSumPl"  format="0.00" />

JAVA中保留N位小数的方法,例子 .

复制代码 代码如下:

import java.text.DecimalFormat;

public class numberFarmat {
    public static void main(String[] args) {
       double sd = 23.2558896635;

       //第一种方法 10000.0这个小数点后只表示保留小数,和位数没关系。
       double d1 = (double) (Math.round(sd*10000)/10000.0000000000);
       double d2 = (double) (Math.round(sd*10000)/10000.0);
       System.out.println("4位小数测试:"+d1);
       System.out.println("4位小数测试:"+d2);

       //第二种方法
       DecimalFormat df2  = new DecimalFormat("###.00");
       DecimalFormat df3  = new DecimalFormat("##.000");
       System.out.println("3位小数:"+df3.format(sd));
       System.out.println("2位小数:"+df2.format(sd));

    }
}

运行结果如下:
4位小数测试:23.2559
4位小数测试:23.2559
3位小数:23.256
2位小数:23.26

相关文章
  • java小数位的例子 2014-03-22

    在java中要保留数字小数位我们有常用的四种方法,分别为:四舍五入,DecimalFormat,format,String .format与struts标签操作实现,下面给出例子 方式一: 四舍五入 double f = 111231.5585; 四舍五入 保留两位小数,可以用String的format函数, 方法如下: System.out.println(String.format("%.2f", x1)); System.out.println(String.format(&qu

  • 一个rpc java的小例子 2012-05-15

    服务端: package w.x.xmlrpc; import org.apache.xmlrpc.server.PropertyHandlerMapping; import org.apache.xmlrpc.server.XmlRpcServer; import org.apache.xmlrpc.server.XmlRpcServerConfigImpl; import org.apache.xmlrpc.webserver.WebServer; import w.x.hellohandl

  • 一个Java多线程的例子(有错误版本) 2014-12-18

    ThreadDemo.java public class ThreadDemo extends Thread { int number; public ThreadDemo(int num) { number = num; System.out.println("创建线程:" + number); } public void run () { Main.running_count++; for (int i = 0; i < 1000; i++) { Main.shared_va

  • 一个使用jackson转换java对象的例子 2015-04-23

    如题,以一个用户对象为例子: @Entity @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) @JsonAutoDetect /** * 在此标记不生成json对象的属性,这里我标记了两个属性一个hibernateLazyInitializer属性,为什么要标记这个 * 属性参考前面的博文,一个password属性,出于安全这个当然不能转换成json对象了,毕竟json是在前台调用的, * 如果你想转换的时候忽略某个属性,可以在后面继续加上

  • JAVA多线程和并发基础面试问答 2013-11-05

    多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一.在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题.(校对注:非常赞同这个观点) Java多线程面试问题 1. 进程和线程之间有什么不同? 一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用.而线程是在进程中执行的一个任务.Java运行环境是一个包含了不同的类和程序的单一进程.线程可以被称为轻量级进程.线程需要较少的资源来创建和驻

  • JAVA多线程和并发基础面试问答(翻译) 2014-12-02

    多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一.在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题 Java多线程面试问题 1. 进程和线程之间有什么不同? 一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用.而线程是在进程中执行的一个任务.Java运行环境是一个包含了不同的类和程序的单一进程.线程可以被称为轻量级进程.线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中

  • Java Web应用程序Oozie简介 2015-05-04

    在Hadoop中执行的任务有时候需要把多个Map/Reduce作业连接到一起,这样才能够达到目的.[1]在Hadoop生态圈中,有一种相对比较新的组件叫做Oozie[2],它让我们可以把多个Map/Reduce作业组合到一个逻辑工作单元中,从而完成更大型的任务.本文中,我们会向你介绍Oozie以及使用它的一些方式. 什么是Oozie? Oozie是一种Java Web应用程序,它运行在Java servlet容器--即Tomcat--中,并使用数据库来存储以下内容: 工作流定义 当前运行的工作流

  • 关于Java的一些感悟(Java优缺点和建议) 2014-04-03

    前些天,在CSDN上看到了一个消息,说是ASP.NET AJAX 成功在Linux上运行,这一点对我触动很大,而且引发了我许多感叹,所以想写出来分享一下. 首先,先谈谈我对java的一些认识.我选择java,是因为他语法简单,功能强大,从web,到桌面,到嵌入式,无所不能.但当我进一步了解了java后,感叹,java原来也有许多缺点.下面我就列举一下我认为的java的优缺点. 先说优点,首先和C,C++这些语言比起来,java很简单,去掉指针的java,非常好理解,自动垃圾回收机制也很好,自从J

  • [敏捷JAVA读书笔记-java基础部分] 第三章 2010-05-11

    一.字符串 Java中字符串是对象.字符串是不可更改的. String str = "abc": String str1 = new String("abc"); 推荐使用第一种方式,因为第一种方式只创建了一个对象. 虚拟机首先创建一个Sting对象的引用,然后到堆区查找,有没有String对象"abc",如果有就将这个String对象的引用指向"abc". 第二种方式一共创建了两个对象:虚拟机首先创建一个"abc&

  • java集合 2012-07-23

    练习java集合的例子 java集合有: list set 和map list和set是继承collection接口的 list允许有有元素重复 set不允许有元素重复 map是独立的映射集合 1 这里注意的是:list 是根据索引位置来遍历的,所以可以使用Iterator和for循环list的值. LinkList和arrayList区别:前者是在链表中在插入删除时候效率好,后者是用数组,获取自有数比较好 list中有关indexOf()和lastIndexOf()分别获取有重复的list的中

  • Java]重载,重写以及继承,多态的区别 2012-09-23

    重载(Overload) 简单地说,就是允许多个同名但形参个数或类型不同的函数方法存在于一个类里面,当类以统一调用方式,由形参来决定调用具体方法! 重载方法是通过形参的类型,个数,顺序来区分的,不是依靠形参的名字区分的,也不是依靠 返回值区分的! 亦即返回值可以不同或相同. 涉及基本类型的重载 参考thinking in java里面的例子(在附件里面). 基本类型能从一个"较小"的类型自动提升至一个"较大"的类型,此过程一旦牵涉到重载,可能会造成一些混淆.Prim

  • Java环境的搭建 2012-12-22

    首先我们应该对 JDK,JRE,JVM 有所认知,下面这个图就可以清晰的表述他们的关系: JDK,JRE,JVM 的关系 一个更复杂的图:这是 J2SE 1.5 具体功能图表,在图的左边,我们可以清晰的看出哪些是JVM的范畴,哪些是JRE的范畴,哪些是JDK的范畴. Java程序的执行逻辑 下面图演示的是如何打造一个个性化的Java启动器,这对我们理解Java执行的逻辑很有帮助.下图是以Window环境打造个性化的Java启动器的例子. 这幅图来自: 打造个性化Java启动器 最常见的启动器是S

  • 为什么java中用枚举实现单例模式会更好 2013-06-01

    枚举单例是java中使用枚举提供一个实例对象来实现单例模式的一种新方法,虽然单例模式在java中早已存在,但枚举单例实际上从java5引入枚举作为它的关键特性之后相对来说还是一个新的概念,这篇文章和我先前发表的关于单例的文章有一定的关联性,一篇是 java单例模式的10个面试问题,讲的是java面试中关于单例模式常见的10个问题,另一篇是 10个关于java枚举的例子,这里面讲了枚举的很多作用.这篇文章是关于我们为什么要使用枚举来实现单例模式,它和传统的单例模式实现方法比起来有哪些好处呢? 下面

  • Java的函数 2014-05-14

    Java的函数 例子 public class Test{ // 主函数 public static void main(String[] args){ int a = 4; int b = 5; swap(4,5); } // 交换函数 public static void swap(int c,int d){ int temp = 0; temp = c; c = d; d = temp; } // 形参个数可变的函数 public void test(int a,String... nam

  • java多线程(二) 2014-07-28

    线程优先级 java 中的线程优先级的范围是1-10,默认的优先级是5."高优先级线程"会优先于"低优先级线程"执行.java 中有两种线程:用户线程和守护线程.可以通过isDaemon()方法来区别它们:如果返回false,则说明该线程是"用户线程":否则就是"守护线程".用户线程一般用户执行用户级任务,而守护线程也就是"后台线程",一般用来执行后台任务.需要注意的是:Java虚拟机在"用户线程

  • java ArrayList 清空元素时迭代器造成的错误 2014-09-16

    在 HeadFirst JAVA中,例子:攻击网站游戏 书中提供的在检查是否击中目标时的代码: for(DotCom dotComToTest : dotComsList){ result = dotComToTest.checkYourself(userGuess); if(result.equals("hit")){ break; }else if(result.equals("kill")){ dotComsList.remove(dotComToTest);

  • DB2 9(Viper)快速入门 2014-10-23

    正在看的db2教程是:DB2 9(Viper)快速入门. 为了帮助您快速掌握 DB2 自身的 XML 特性,请完成几个普通的任务,比如: 创建用于管理 XML 数据的数据库对象,包括一个测试数据库.一些示例表和视图. 使用 INSERT 和 IMPORT 语句将 XML 数据填充到数据库中. 验证您的 XML 数据.使用 DB2 开发和注册您的 XML 模式,并在导入数据时使用 XMLVALIDATE 选项. 后续文章将包括其他主题,比如使用 SQL 查询.更新和删除 DB2 XML 数据,使用

  • C++之父 Bjarne Stroustrup访谈录 2013-10-27

    译者简介: 全文共分四部分. 第一部分谈了系统设计的基本原则和方法.笔者这部分认为非常精彩,大师们对于系统设计的一般原则和方法的理解都是类似的.象笔者这种菜鸟只有拜读之后恍然大悟然后顶礼膜拜的份了. 第二部分,第三部分谈了程序设计的风格问题,笔者认为其中关于类的设计的讨论可以说是一针见血.任何有志于面向对象程序设计的高级程序员(无论使用何种语言开发)都应该读一读这部分. 第四部分谈了抽象和效率的问题.其中一个重要观点就是,抽象有利于效率而不是反之. 全文: 在2003年9月的JAOO会议上,Bi

  • 一致性hash和solr千万级数据分布式搜索引擎中的应用 2014-01-16

    互联网创业中大部分人都是草根创业,这个时候没有强劲的服务器,也没有钱去买很昂贵的海量数据库.在这样严峻的条件下,一批又一批的创业者从创业中获得成功,这个和当前的开源技术.海量数据架构有着必不可分的关系.比如我们使用mysql.nginx等开源软件,通过架构和低成本服务器也可以搭建千万级用户访问量的系统.新浪微博.淘宝网.腾讯等大型互联网公司都使用了很多开源免费系统搭建了他们的平台.所以,用什么没关系,只要能够在合理的情况下采用合理的解决方案. 那怎么搭建一个好的系统架构呢?这个话题太大,这里主要

  • 介绍Web基础架构设计原则的经典论文导读 2015-03-09

    1. 概述 Roy Fielding博士(见个人主页)是IETF发布的HTTP和URI协议的主要设计者.HTTP和URI是两个最为重要的Web基础技术架构协议,因此Fielding博士可谓是Web架构的奠基者之一. 除了学术上的卓越成就之外,Fielding博士还参与过很多开源软件的设计和开发工作.他是libwww-perl(世界上最早的HTTP开发库之一)的开发者,曾经负责Apache HTTP服务器中与HTTP.URI协议相关部分代码的开发.Fielding博士还指导过很多其他团队在HTTP