我是靠谱客的博主 英俊奇异果,这篇文章主要介绍Java的四种保留小数点方法,现在分享给大家,希望可以做个参考。

1.前言

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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package java_stu; /** * @see java保留小数点示例 * */ import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public class java_01 { double f = 123456.7890; /** * 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(); } }

输出结果:
自动四舍五入:

复制代码
1
2
3
4
5
6
123456.79 123456.79 123456.79 123,456.79 Process finished with exit code 0

2.解释

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。


You got a dream, you gotta protect it.
如果你有梦想的话,就要去捍卫它 。 ——《当幸福来敲门》

最后

以上就是英俊奇异果最近收集整理的关于Java的四种保留小数点方法的全部内容,更多相关Java内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部