【最近面试遇到的一些问题】Java中取小数点后两位(四种方法)

一 

Long是长整型,怎么有小数,是double吧   
  java.text.DecimalFormat   df=new   java.text.DecimalFormat("#.##");   
  double   d=3.14159;   
  System.out.println(df.format(d)); 

二 

java.math.BigDecimal   
  BigDecimal   bd   =   new   BigDecimal("3.14159265");   
  bd   =   bd.setScale(2,BigDecimal.ROUND_HALF_UP);   

三 

  class   Test1{   
      public   static   void   main(String[]   args){   
          double   ret   =   convert(3.14159);   
            
          System.out.println(ret);   
      }   
        
      static   double   convert(double   value){   
          long   l1   =   Math.round(value*100);   //四舍五入   
          double   ret   =   l1/100.0;               //注意:使用   100.0   而不是   100   
          return   ret;   
      }   
  } 

四 

double   d   =   13.4324;   
  d=((int)(d*100))/100;   

时间: 2024-10-26 10:13:39

【最近面试遇到的一些问题】Java中取小数点后两位(四种方法)的相关文章

IOS中Json解析实例方法详解(四种方法)_IOS

作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式. 有的json代码格式比较混乱,可以使用此"http://www.bejson.com/"网站来进行JSON格式化校验(点击打开链接).此网站不仅可以检测Json代码中的错误,而且可以以视图形式显示json中的数据内容,很是方便. 从IOS5开始,APPLE提供了对json的原生支持(NSJSONSerialization),但是为了兼容以前的iOS版本,可以使用第三方库来解析Json. 本文将介绍Tou

Sql 中取小数点后面两位小数.

select convert(numeric(8,2),round(UnTaxAmount,2))as UnTaxAmount from View_SaleVoice select cast(UnTaxAmount as decimal(20,2)) as UnTaxAmount from View_SaleVoice Datagrid,DataList,Repeate等的数据格式设置表达式   DataFormatString="{0:N0}%"DataFormatString=&q

【java】java处理随机浮点数(小数点后两位)用RMB的大写数值规则输出

晚上上床前,拿到这个有意思的问题,就想玩弄一番: ============================================================================ 规则:[随机浮点数按照RMB读法写出] 总代码如下: package com.sxd.test; import org.junit.Test; import java.text.DecimalFormat; import java.util.Random; /** * @Author SXD *

Java 中 synchronized的用法详解(四种用法)_java

Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码.  1.方法声明时使用,放在范围操作符(public等)之后,返回类型声明(void等)之前.这时,线程获得的是成员锁,即一次只能有一个线程进入该方法,其他线程要想在此时调用该方法,只能排队等候,当前线程(就是在synchronized方法内部的线程)执行完该方法后,别的线程才能进入. 例如: public synchronized void synMethod() { //方法体 }

java中double类型变量保留小数点后两位的问题

代码为 double rate1 = 0.290625; //四舍五入保留两位小数 BigDecimal df = new BigDecimal(rate1); double rate2 = df.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //rate2打印结果为0.29 import java.text.*; DecimalFormat df=new DecimalFormat(".##");double d=1252.

入门:在网页中使用CSS样式表的四种方法

css|网页|样式表 如何在网页中插入CSS 前面我们了解了CSS的语法,但要想在浏览器中显示出效果,就要让浏览器识别并调用.当浏览器读取样式表时,要依照文本格式来读,这里介绍四种在页面中插入样式表的方法:链入外部样式表.内部样式表.导入外表样式表和内嵌样式. 1. 链入外部样式表 链入外部样式表是把样式表保存为一个样式表文件,然后在页面中用< link >标记链接到这个样式表文件,这个标记必须放到页面的< head >区内,如下: <head> -- <link

Java如何取double小数点后两位(四舍五入)

问题描述 如题,有方法的最好先测试一下.DecimalFormatdf=newDecimalFormat("#.00");用这个方法不行,有兴趣的可以测试一下这个数字:doublex=25470.085;用Math.round也不行,因为Math.round(-11.5)=-11而不是-12(当然此处可以自己封装一个方法,判断正负,但是希望能有更简单的方法) 解决方案 解决方案二:doublea=12.34564;doubleb=Math.round(a*100);System.out

保留小数点后两位-关于Java的BigDecimal类处理小数点的问题

问题描述 关于Java的BigDecimal类处理小数点的问题 double C = a + b + c; return new BigDecimal(C).setScale(2, BigDecimal.ROUND_HALF_UP); 上面这个输出结果没问题.但是如果不创建C,直接 return new BigDecimal(a+b+c).setScale(2, BigDecimal.ROUND_HALF_UP); 这样输出的结果就不对了....为什么?? 解决方案 关键看a b c是什么类型的

ASP中保留小数点后两位数的方法(使用FormatNumber)

近来用ASP程序处理一些数据表单,遇到数字格式化的问题,如数据保留几位小数等问题,经过研究,可以使用ASP的内置函数FormatNumber来实现,下面就具体说说FormatNumber函数使用方法. FormatNumber函数:返回格式化为数字的表达式. 参数: Expression     必选项.要格式化的表达式.     NumDigitsAfterDecimal     可选项.数值,指示在小数点右侧显示的位数.默认值是 –1,表示使用计算机的区域设置.     IncludeLea