zoukankan      html  css  js  c++  java
  • float取2位小数,末位四舍五入(转自fjj)

    JAVA如何把一个float四舍五入到小数点后2位,以及多位
    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)); }

    }

  • 相关阅读:
    Unix命令大全
    vs2008 与 IE8出现的兼容性问题
    Java 创建文件、文件夹以及临时文件
    如何修改Wamp中mysql默认空密码
    PAT 乙级真题 1003.数素数
    Tags support in htmlText flash as3
    DelphiXE4 FireMonkey 试玩记录,开发IOS应用 还是移植
    10 Great iphone App Review sites to Promote your Apps!
    HTML tags in textfield
    Delphi XE4 IOS 开发, "No eligible applications were found“
  • 原文地址:https://www.cnblogs.com/zyxzhsh/p/1867387.html
Copyright © 2011-2022 走看看