java怎么保留小数

指针潮汐
• 阅读 224

java怎么保留小数
在java的学习中,往往算法有一个是属于java的小数点位数保留。一般有四种方式。
java中保留小数示例:

/**
* 1.BigDecimal常用于金额的计算,
* 超过16位使用
*/
public void m1() {
BigDecimal bg = ``new` `BigDecimal(f);
double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f1);
}
/**
* 2.DecimalFormat转换最简便
* 用于格式化十进制数字
* 常用
*/
public void m2() {
DecimalFormat df = ``new` `DecimalFormat(``"#.00"``);
System.out.println(df.format(f));
}
/**
* 3.String.format打印最简便
* 常用
*/
public void m3() {
System.out.println(String.format(``"%.2f"``, f));
}
/**
* 4.NumberFormat
*  是所有数值格式的抽象基类。
*/
public void m4() {
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
System.out.println(nf.format(f));
}
public static void main(String[] args) {
java_01 f = ``new` `java_01();
f.m1();
f.m2();
f.m3();
f.m4();
}
输出结果:自动四舍五入:
123456.79
123456.79
123456.79
123,456.79

java保留小数的四种方法介绍:
1、BigDecimal
常用于金额的计算,超过16位使用
Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。
虽然双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。
BigDecimal所创建的是对象,但是不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。

2、DecimalFormat
它是 NumberFormat 的一个具体子类,用于格式化十进制数字。可以帮你用最快的速度将数字格式化为你需要的样子。

3、String.format
打印最简便。
String.format 作为字符串格式化,简单调用 String.format(“Hello %s”, “John”);
String.format返回的是String类型的字符串。

4、NumberFormat
NumberFormat 是所有数值格式的抽象基类。 该类提供了格式化和分析数值的接口。

以上四种方式,常用的是2,3。
以上就是java怎么保留小数的详细内容,希望对你有所帮助。

阅读原文:java怎么保留小数

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
4年前
java保留两位小数4种方法
4种方法,都是四舍五入,例:import java.math.BigDecimal;import java.text.DecimalFormat;import java.text.NumberFormat;public class format {    double f  111231.558
Wesley13 Wesley13
4年前
java 两个整数相除保留两位小数
1第一种importjava.math.BigDecimal;/@authorWGR@create2020/3/1715:51/publicclassDemoTest{publicstaticvoidmain(S
DevOpSec DevOpSec
5年前
python 保留两位小数方法
保留两位小数,并做四舍五入处理方法一:使用字符串格式化a12.345print("%.2f"%a)12.35方法二:使用round内置函数a12.345a1round(a,2)print(a1)12.35方法三:使用decimal模块fromdecimalimportDeci
DaLongggggg DaLongggggg
4年前
python刷题-圆的面积
问题描述给定圆的半径r,求圆的面积。输入格式输入包含一个整数r,表示圆的半径。输出格式输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。说明:在本题中,输入是一个整数,但是输出是一个实数。对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不
Wesley13 Wesley13
4年前
Java 的BigDecimal
原文:http://blog.csdn.net/diyu122222/article/details/76887382decimaldecimal(18,0)18是定点精度,0是小数位数。decimal(a,b)a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38。b指定小数点右边可以存储的十
Wesley13 Wesley13
4年前
mysql中的round函数
在mysql中,round函数用于数据的四舍五入,它有两种形式:1、round(x,d) ,x指要处理的数,d是指保留几位小数这里有个值得注意的地方是,d可以是负数,这时是指定小数点左边的d位整数位为0,同时小数位均为0;2、round(x) ,其实就是round(x,0),也就是默认d为0;下面是几个实例1、查询: selectr
Wesley13 Wesley13
4年前
MySQL的ROUND函数
ROUND(_X_)ROUND(_X_,_D_)返回参数_X_,其值接近于最近似的整数。在有两个参数的情况下,返回_X_,其值保留到小数点后_D_位,而第_D_位的保留方式为四舍五入。若要接保留_X_值小数点左边的_D_位,可将_D_设为负值。mysqlSELECTROUND(1.23);       
Wesley13 Wesley13
4年前
mysql 除法运算保留小数的用法
说明:刚开始用的round(值1/值2\100,1)结果没出效果,才搜到decimal函数在工作中会遇到计算小数而且需要显现出小数末尾的0,我们会用到DECIMAL这个函数,这是一个函数非常强悍:具体用法DECIMAL(P,D);在上面的语法中:P是表示有效数字数的精度。P范围为1〜65。D是表示小数点后的位数。D的范围是0~30
Wesley13 Wesley13
4年前
Java日期时间API系列30
  实际使用中,经常需要使用不同精确度的Date,比如保留到天2020042300:00:00,保留到小时,保留到分钟,保留到秒等,常见的方法是通过格式化到指定精确度(比如:yyyyMMdd),然后再解析为Date。Java8中可以用更多的方法来实现这个需求,下面使用三种方法:使用Format方法、 使用Of方法和使用With方法,性能对比,使用
Wesley13 Wesley13
4年前
mysql之sql查询结果集小数保留
 引用:https://www.cnblogs.com/QscTiger/p/5440294.html 客户要求,跟金额相关的数据,打印出来要保留两位小数,比如:13.2/13.200要显示为13.20;分析:首先查看数据库中的数据定义,均为decimal(12,2),直接通过数据库查询的结果也会保留两位小数,但是代码处理后,却会忽略掉最后一个