温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java如何保留两位小数

发布时间:2022-02-23 15:32:03 来源:亿速云 阅读:172 作者:iii 栏目:开发技术

今天小编给大家分享一下java如何保留两位小数的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

使用BigDecimal类进行数据格式化

BigDecimal类是java.math包中提供的一个API类,它可以用来对超过16位有效位的数据进行精确的运算。它提供了format()方法可以用来进行对数值的格式化控制。具体格式化代码如下:

public static String format1(double value){
    BigDecimal bd = new BigDecimal(value);//创建一个bd对象,将要转换的值value传入构造函数
    bd = bd.setScale(2, RoundingMode.HALF_UP);//调用setScale方法进行数据格式化,保留两位小数,采用四舍五入规则
    return bd.toString(); //返回bd对象的值(转化为string形式)
}

使用DecimalFormat类进行数据格式化

DecimalFormat类是NumberFormat的一个具体子类,是用来格式化十进制数字的。使用该方法也可以简单的格式化数据。具体格式化代码如下:

public static String format2(double value) {
    DecimalFormat df = new DecimalFormat("0.00");//创建一个df对象,传入0.00表示构造一个保留小数点后两位的df对象
    df.setRoundingMode(RoundingMode.HALF_UP);//设置规则,这里采用的也是四舍五入规则
    return df.format(value);//返回value(在返回之前使用df对象的格式化方法将数据格式化)
}

使用NumberFormat类进行数据格式化

NumberFormat是所有数字格式的抽象基类。它用来提供格式化和解析数字的接口。它可以帮助开发者格式化和解析任何语言环境的数字。使用该方法格式化数据的代码如下:

public static String format3(double value) {
    NumberFormat nf = NumberFormat.getNumberInstance();//获取NumberFormat类的实例需要调用getInstance()方法
    nf.setMaximumFractionDigits(2);//设置强制保留两位,避免出现10.00的时候返回10(也就是不满两位要用零补足两位)
    nf.setMinimumFractionDigits(2);//设置强制保留两位,如果有多出的就采用计数保留进行处理(也就是超过两位的要进行进位换算)
    nf.setRoundingMode(RoundingMode.HALF_UP);//设置计数保留规则,这里采用四舍五入法
    nf.setGroupingUsed(false);//是否将数据使用逗号进行分组
    return nf.format(value);//返回value(在返回之前使nf对象的格式化方法将数据格式化)
}

使用java.util.Formatter进行数据格式化

使用java.util.Formatter也可以进行数据的格式化。具体代码如下:

public static String format4(double value) {
    return new Formatter().format("%.2f", value).toString();
    //使用java.util.Formatter的format方法,可以将value数值格式化成指定格式的数据    //%是格式化字符(与C语言类似).2表示保留小数点后两位,f表示传入的这个数值是浮点型
    //最后使用toString方法将数值转换成字符串
}

使用String.format进行数据格式化(最常见简单的方法)

String.format作为文本处理工具,为我们提供了强大而且丰富的字符串格式化功能,它也可以进行浮点数的格式化。具体的代码如下:

public static String format5(double value) {
    return String.format("%.2f", value).toString();
    //%是格式化字符(与C语言类似).2表示保留小数点后两位,f表示传入的这个数值是浮点型    //最后使用toString方法将数值转换成字符串
}

以上可以堪称是最简单的方法了。但之所以称它常见,是因为他可以直接在print中使用。例如:

double num = 123.4567899;
System.out.print(String.format("%.2f", num)); //直接在print中使用 

以上就是“java如何保留两位小数”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI