`
329087553
  • 浏览: 51588 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

JAVA如何把一个float四舍五入到小数点后2位,以及多位

阅读更多
JAVA如何把一个float四舍五入到小数点后2位,4位,或者其它指定位数.

        以前以为很容易,一直没在意,今天突然用到了,才发现,系统没有这样的函数.狂晕,同事们用的方法为,先转成String,再取其中几位,再转成float型,(如:String.valueOf(c).substring(0,String.valueOf(c).indexOf(".")   +   3)): 我觉得这样不爽,于是找了书看看,书上还真没找到,晕晕.到网上找了一些方法,还真行.如下(以下都是取2位,如果要取其它位,自己修改一下):

(一):这种方法方便,我就使用这种方法

   float   a   =   123.2334f;  
      float   b   =   (float)(Math.round(a*100))/100;(这里的100就是2位小数点,如果要其它位,如4位,这里两个100改成10000)

(二):这个方法也简单,不过还要再转成float型:  
  import   java.text.DecimalFormat;      
  String   a   =   new   DecimalFormat("###,###,###.##").format(100.12345   );

(三):这个也可以用

float   ft   =   134.3435f;  
  int   scale   =   2;//设置位数  
  int   roundingMode   =   4;//表示四舍五入,可以选择其他舍值方式,例如去尾,等等.  
  BigDecimal   bd   =   new   BigDecimal((double)ft);  
  bd   =   bd.setScale(scale,roundingMode);  
  ft   =   bd.floatValue(); 

(四):个人想法,还没去做

就是先放大10的N次方,变成整数,再除以10的N次方变回float型 , 不知道这样可以不?



--------------------------------------------------------------------------------



暂时就这么多,以后如果还发现了新的,再发上来

(附)日期格式化
//获取当前系统日期和时间的方法
import java.text.SimpleDateFormat;
import java.util.Date;

public class TestDate {
  public static void main(String[] args) throws Exception {
  
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");         //格式为特有的,API文档中有
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");//
   Date d = new Date();
   System.out.println(sdf.format(d));

  }
}
分享到:
评论

相关推荐

    Java四舍五入时保留指定小数位数的五种方式

    在这里,`setScale()`方法用于设置小数点后的位数(2),`ROUND_HALF_UP`是舍入模式,表示四舍五入。结果`f1`将是3.15。 2. **使用`DecimalFormat`类**: `DecimalFormat`是`java.text`包中的一个类,它可以按照...

    java保留两位小数问题

    本文将深入探讨如何在Java中保留两位小数,并覆盖四舍五入、浮点数精确计算以及避免科学记数法等问题。 #### 四舍五入保留两位小数 四舍五入是数学中的一个基本概念,指的是当一个数的小数部分小于等于0.5时,将其...

    java去掉小数点后面多余的0.txt

    本文提供了一个简单的Java方法,该方法利用正则表达式来去除小数点后多余的零。这种方法不仅高效而且易于理解。 ##### 2.1 方法实现 ```java package test; /** * 去掉小数点后面多余的零。 * @author Hust * ...

    Java实现IEE754 Float类型数据

    接下来,我们将根据给定的部分代码片段,详细介绍如何通过Java解析一个按照IEEE 754标准编码的单精度浮点数。 ```java public double analyse(byte[] data) { int s = 0; // 符号位 double f = 0; // 尾数 int e...

    保留2位小数

    如果超过两位小数,则会四舍五入到最接近的两位小数。例如,`1.234`会被格式化为`1.23`。 对于`float`类型的数据,虽然在Java中`float`精度较低,但处理方式与`double`类似,只需要将`double`替换为`float`即可。在...

    Java保留两位小数方法大全

    - `setScale(2, BigDecimal.ROUND_HALF_UP)` 表示将该`BigDecimal`对象的小数点后保留2位,并采用四舍五入的方式处理第三位及以后的数字。 - 最终得到的`double f1`即为保留两位小数的结果。 #### 方法二:使用`...

    Java保留两位小数的几种写法总结

    在这里,我们创建了一个模式 "0.00",它表示至少两位小数,且设置了四舍五入模式。 3. **使用java.text.NumberFormat** `NumberFormat` 是一个抽象类,提供了格式化和解析数字的通用接口。我们可以通过 `...

    Java小数点的问题1

    在处理浮点数时,必须意识到这些特性并谨慎处理可能的异常情况,比如使用`Float.isNaN()`来检查一个值是否是NaN,或者使用`Float.compare()`来进行浮点数比较,以避免因为特殊值而导致的错误。在需要精确的货币计算...

    Java使用正则表达式去除小数点后面多余的0功能示例

    Java使用正则表达式去除小数点后面多余的0功能示例 Java语言中使用正则表达式可以实现去除小数点后面多余的0的功能,这个功能示例主要介绍了Java使用正则表达式去除小数点后面多余的0功能,结合具体实例形式分析了...

    javascript 取小数点后几位几种方法总结

    Javascript取float型小数点后两位,例22.123456取成22.12,如何做? 1.通过substring截取。 function getnum() { var num = 22.123456; var result = num.substring(0,s.indexOf(".")+3); alert(result); }...

    java面试题大全--java基础,struts,spring,ejb等

    - **取小数点前两位并四舍五入**:使用`Math.round()`方法结合数学运算实现,例如: ```java double value = 123.456; double roundedValue = Math.round(value * 100.0) / 100.0; ``` #### 4. 日期和时间 - *...

    Java理论与实践:您的小数点到哪里去了?

    【Java理论与实践:您的小数点到哪里去了?】 在Java编程中,浮点数和小数的使用虽然相对较少,但在特定场景下却至关重要。这篇文章主要探讨了Java中处理非整数类型,尤其是浮点数(float和double)和任意精度小数...

    double类型转换

    例如,在处理货币金额时,通常需要将一个`double`类型的数值保留到小数点后两位,并且以特定的格式显示出来,如将`15.00`这样的数值正确地显示为“15.00”。这不仅涉及到数值的精度控制,还涉及到数值的格式化输出。...

    详解java中float与double的区别

    需要注意的是,float 是 8 位有效数字,第 7 位数字将会产生四舍五入。所以,如果一个 float 变量这样定义:float a=1.32344435; 则第 7 位将产生四舍五入(5 及 5 以下的都将舍去)。 在定义时,float 和 double ...

    java中BigDecimal的操作方法

    在13.5500除以5时,实际计算结果是13.5500000...,在四舍五入到第1位时,由于5之后的位数不为0,所以进位得到13.6。 BigDecimal还提供了其他一些方法,如`compareTo()`用于比较两个BigDecimal对象的大小,`scale()`...

    java、c++表达式求值(带括号和小数点)

    总之,“java、c++表达式求值(带括号和小数点)”是一个涉及语言特性、数据结构(栈)以及算法(逆波兰表示法)的综合问题。在Java和C++中实现这样的功能,需要理解运算符优先级、表达式解析、浮点数运算以及异常...

    详细分析sqlserver中的小数类型(float和decimal)

    首先,float是一种近似数值类型,它基于二进制浮点数表示法,这意味着它存在精度损失。float(n)类型中,n代表尾数的位数,影响了精度和存储需求。默认情况下,float等同于float(53),占用8字节,能表示最多15位小数...

    java代码-java 小数点后的多余的0处理

    在Java编程中,处理小数点后多余的零是一个常见的需求,特别是在进行数学计算或格式化输出时。小数点后的零可能会影响数据的显示效果,也可能导致不必要的存储开销。本篇文章将深入探讨如何在Java中有效地处理这个...

    Java基础

    这里也使用了四舍五入技巧,通过乘以10000再除以10000来保留小数点后四位。 3. 练习3检查一个随机整数是否为奇数或偶数,根据结果执行不同的操作。对于奇数,计算平方根并转换为float类型,而对于偶数,计算平方。...

    2014年Java最全面试题以及答案.

    可以使用BigDecimal类或者Math类的相关方法进行四舍五入到指定的小数位。 25. 如何取得年月日,小时分秒? 可以使用Calendar类或者java.time包下的相关类来获取当前日期和时间的组成部分。 26. 如何取得从1970年到...

Global site tag (gtag.js) - Google Analytics