我是靠谱客的博主 俏皮吐司,最近开发中收集的这篇文章主要介绍double转为百分比Java代码实现舍入模式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Java代码实现

[java] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. public class PercentTest { 
  2.     public static void main(String[] args) { 
  3.         double rate = 0.26535
  4.         NumberFormat nf = NumberFormat.getPercentInstance(); 
  5.         nf.setMinimumFractionDigits(2);//设置保留小数位 
  6.         nf.setRoundingMode(RoundingMode.HALF_UP); //设置舍入模式 
  7.         String percent = nf.format(rate); 
  8.         System.out.println(percent); 
  9.     } 
public class PercentTest {
	public static void main(String[] args) {
		double rate = 0.26535;
		NumberFormat nf = NumberFormat.getPercentInstance();
		nf.setMinimumFractionDigits(2);//设置保留小数位
		nf.setRoundingMode(RoundingMode.HALF_UP); //设置舍入模式
		String percent = nf.format(rate);
		System.out.println(percent);
	}
}

舍入模式

UP:远离零方向舍入的舍入模式。始终对非零舍弃部分前面的数字加 1。注意,此舍入模式始终不会减少计算值的绝对值。

示例:

输入数字

使用 UP 舍入模式

5.5

6

2.5

3

1.6

2

1.1

2

1.0

1

-1.0

-1

-1.1

-2

-1.6

-2

-2.5

-3

-5.5

-6

DOWN:向零方向舍入的舍入模式。从不对舍弃部分前面的数字加 1(即截尾)。注意,此舍入模式始终不会增加计算值的绝对值。

示例:

输入数字

使用 DOWN 舍入模式

5.5

5

2.5

2

1.6

1

1.1

1

1.0

1

-1.0

-1

-1.1

-1

-1.6

-1

-2.5

-2

-5.5

-5

CEILING:向正无限大方向舍入的舍入模式。如果结果为正,则舍入行为类似于 RoundingMode.UP;如果结果为负,则舍入行为类似于 RoundingMode.DOWN。注意,此舍入模式始终不会减少计算值。

示例:

输入数字

使用 CEILING 舍入模式

5.5

6

2.5

3

1.6

2

1.1

2

1.0

1

-1.0

-1

-1.1

-1

-1.6

-1

-2.5

-2

-5.5

-5

FLOOR:向负无限大方向舍入的舍入模式。如果结果为正,则舍入行为类似于 RoundingMode.DOWN;如果结果为负,则舍入行为类似于RoundingMode.UP。注意,此舍入模式始终不会增加计算值。

示例:

输入数字

使用 FLOOR 舍入模式

5.5

5

2.5

2

1.6

1

1.1

1

1.0

1

-1.0

-1

-1.1

-2

-1.6

-2

-2.5

-3

-5.5

-6

HALF_UP:

向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向上舍入。如果被舍弃部分 >= 0.5,则舍入行为同 RoundingMode.UP;否则舍入行为同RoundingMode.DOWN。注意,此舍入模式就是通常学校里讲的四舍五入。

示例:

输入数字

使用 HALF_UP 舍入模式

5.5

6

2.5

3

1.6

2

1.1

1

1.0

1

-1.0

-1

-1.1

-1

-1.6

-2

-2.5

-3

-5.5

-6

HALF_DOWN:向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向下舍入。如果被舍弃部分 > 0.5,则舍入行为同 RoundingMode.UP;否则舍入行为同RoundingMode.DOWN。

示例:

输入数字

使用 HALF_DOWN 舍入模式

5.5

5

2.5

2

1.6

2

1.1

1

1.0

1

-1.0

-1

-1.1

-1

-1.6

-2

-2.5

-2

-5.5

-5

HALF_EVEN:

向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。如果舍弃部分左边的数字为奇数,则舍入行为同 RoundingMode.HALF_UP;如果为偶数,则舍入行为同RoundingMode.HALF_DOWN。注意,在重复进行一系列计算时,此舍入模式可以在统计上将累加错误减到最小。此舍入模式也称为“银行家舍入法”,主要在美国使用。此舍入模式类似于 Java 中对float 和double 算法使用的舍入策略。

示例:

输入数字

使用 HALF_EVEN 舍入模式

5.5

6

2.5

2

1.6

2

1.1

1

1.0

1

-1.0

-1

-1.1

-1

-1.6

-2

-2.5

-2

-5.5

-6

UNNECESSARY:用于断言请求的操作具有精确结果的舍入模式,因此不需要舍入。如果对生成精确结果的操作指定此舍入模式,则抛出 ArithmeticException。

示例:

输入数字

使用 UNNECESSARY 舍入模式

5.5

抛出 ArithmeticException

2.5

抛出 ArithmeticException

1.6

抛出 ArithmeticException

1.1

抛出 ArithmeticException

1.0

1

-1.0

-1

-1.1

抛出 ArithmeticException

-1.6

抛出 ArithmeticException

-2.5

抛出 ArithmeticException

-5.5

抛出 ArithmeticException

最后

以上就是俏皮吐司为你收集整理的double转为百分比Java代码实现舍入模式的全部内容,希望文章能够帮你解决double转为百分比Java代码实现舍入模式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部