我是靠谱客的博主 粗暴钢铁侠,这篇文章主要介绍java笔记 保留两位小数 , for循环break退出最外层循环, switch语句细节,BigDecimal的比较,现在分享给大家,希望可以做个参考。

一.保留小数 string->double

复制代码
1
2
v = (double)Math.round(v * 100) / 100;

利用 Math.round(value * 100) ,再 / 100
保留三位就是 1000
函数Math.round(num)本身就是对num进行四舍五入


还有更专业一点的

复制代码
1
2
String.format("%.3f", num)

但是返回值是String类型的

二.for循环

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class example02_12 { public static void main(String args[]) { outer:for(int i=0;i<3;i++) { System.out.print("Pass "+i+": "); for (int j=0;j<100;j++) { if (j == 10) break outer; System.out.print(j+" "); } System.out.println("This will not print"); } System.out.println("n Loops complete."); } }

在这里插入图片描述
这里的outer设定在最外层的循环
break outer 是退出最外层的循环

三.switch

如果在一个swith开关后不输入break
则它后面的语句也要进行

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class testswitch { public static void main(String [] args){ char letter = 'a' ; switch (letter){ case 'A': case 'a': System.out.println("Some kind of A."); case 'B': case 'b': System.out.println("Some kind of B."); break; default: System.out.println("Something else."); break; } } }

在这里插入图片描述

四.0.1 * 3 问题(BigDecimal的比较)

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.util.Scanner; public class text { public static void main(String args[]) { if(0.1 * 3 == 0.3) System.out.println("yes"); else System.out.println("no"); } }

在这里插入图片描述
这里的 0.1 是不精确的,可能后面还有别的数, 只是没显示出来,可能是0.10000001,这样就不等与0.3了


如果要利用BigDecimal 或 BigInteger进行比较的话
要使用BIgDecima.compareTo(BigDecimal1)的函数
这个函数返回值是int
在这里插入图片描述

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.util.Scanner; import java.math.BigDecimal; public class text { public static void main(String args[]) { BigDecimal num = BigDecimal.valueOf(0.1); num = num.multiply(BigDecimal.valueOf(3)); if(num.compareTo(BigDecimal.valueOf(0.3)) == 0) System.out.println("yes"); else System.out.println("no"); System.out.println(BigDecimal.valueOf(0.3)); } }

语句if(num.compareTo(BigDecimal.valueOf(0.3)) == 0)就在进行比较
在这里插入图片描述


使num0.2 ,小于0.3,输出 -1

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.util.Scanner; import java.math.BigDecimal; public class text { public static void main(String args[]) { BigDecimal num = BigDecimal.valueOf(0.1); num = num.multiply(BigDecimal.valueOf(2)); if(num.compareTo(BigDecimal.valueOf(0.3)) == 0) System.out.println("0"); else if(num.compareTo(BigDecimal.valueOf(0.3)) < 0) System.out.println("-1"); else if(num.compareTo(BigDecimal.valueOf(0.3)) > 0) System.out.println("1"); } }

在这里插入图片描述

最后

以上就是粗暴钢铁侠最近收集整理的关于java笔记 保留两位小数 , for循环break退出最外层循环, switch语句细节,BigDecimal的比较的全部内容,更多相关java笔记内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部