`
齐晓威_518
  • 浏览: 617910 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

JAVA如何计算百分比

 
阅读更多
import java.text.NumberFormat;

class B {

static String percent(double p1, double p2) {
  String str;
  double p3 = p1 / p2;
  NumberFormat nf = NumberFormat.getPercentInstance();
  nf.setMinimumFractionDigits(2);
  str = nf.format(p3);
  return str;
}
}

public class Test {

public static void main(String args[]) {
  System.out.println("test1: " + B.percent(1, 3));
  System.out.println("test2: " + B.percent(1, 4));
}
}

java实现精确的"四舍五入"
import java.math.BigDecimal;

public class Test {

private static final int DEF_DIV_SCALE = 10;

private Test() {

}

/**
  * 提供精确的加法运算。
  *
  * @param v1
  *            被加数
  * @param v2
  *            加数
  * @return 两个参数的和
  */
public static double add(double v1, double v2) {
  BigDecimal b1 = new BigDecimal(Double.toString(v1));
  BigDecimal b2 = new BigDecimal(Double.toString(v2));
  return b1.add(b2).doubleValue();

}

/**
  * 提供精确的减法运算。
  *
  * @param v1
  *            被减数
  * @param v2
  *            减数
  * @return 两个参数的差
  */
public static double sub(double v1, double v2) {
  BigDecimal b1 = new BigDecimal(Double.toString(v1));
  BigDecimal b2 = new BigDecimal(Double.toString(v2));
  return b1.subtract(b2).doubleValue();

}

/**
  * 提供精确的乘法运算。
  *
  * @param v1
  *            被乘数
  * @param v2
  *            乘数
  * @return 两个参数的积
  */
public static double mul(double v1, double v2) {
  BigDecimal b1 = new BigDecimal(Double.toString(v1));
  BigDecimal b2 = new BigDecimal(Double.toString(v2));
  return b1.multiply(b2).doubleValue();

}

/**
  * 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到 小数点以后10位,以后的数字四舍五入。
  *
  * @param v1
  *            被除数
  * @param v2
  *            除数
  * @return 两个参数的商
  */
public static double div(double v1, double v2) {
  return div(v1, v2, DEF_DIV_SCALE);
}

/**
  * 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指 定精度,以后的数字四舍五入。
  *
  * @param v1
  *            被除数
  * @param v2
  *            除数
  * @param scale
  *            表示表示需要精确到小数点以后几位。
  * @return 两个参数的商
  */
public static double div(double v1, double v2, int scale) {
  if (scale < 0) {
   throw new IllegalArgumentException("The scale must be a positive integer or zero");
  }
  BigDecimal b1 = new BigDecimal(Double.toString(v1));
  BigDecimal b2 = new BigDecimal(Double.toString(v2));
  return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}

/**
  * 提供精确的小数位四舍五入处理。
  *
  * @param v
  *            需要四舍五入的数字
  * @param scale
  *            小数点后保留几位
  * @return 四舍五入后的结果
  */
public static double round(double v, int scale) {
  if (scale < 0) {
   throw new IllegalArgumentException("The scale must be a positive integer or zero");
  }
  BigDecimal b = new BigDecimal(Double.toString(v));
  BigDecimal one = new BigDecimal("1");
  return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}
}
分享到:
评论

相关推荐

    Java实现百分比

    在IT行业中,百分比计算是常见的任务,尤其是在编程语言如Java中。本篇文章将深入探讨如何使用Java来实现百分比的计算,同时结合提供的`PercentTool.java`源码,我们将一起解析并理解其中的关键知识点。 首先,让...

    后台计算百分比

    以“后台(子网格和百分比计算)调查选项所占百分比”为例,这可能是一个在线调查系统,后台需要处理各个调查选项的选票数,计算每个选项在所有投票中的占比,并可能将其结果显示在一个带有子网格的可视化界面上。...

    java(小数点,百分号处理)

    本文将详细介绍如何利用Java中的`java.text.DecimalFormat`和`java.text.NumberFormat`类来处理小数点、百分比等格式的数值。 #### 一、`java.text.DecimalFormat`类 `DecimalFormat`是`NumberFormat`的一个子类,...

    Java保留两位小数方法大全

    **问题背景**:在Java中使用`double`或`float`类型进行计算时,可能会出现非预期的结果,这是由于浮点数的存储方式导致的精度损失问题。 **解决方案**: 1. **使用`BigDecimal`**:对于需要高精度计算的场景,推荐...

    java计算百分比值的方法

    总结一下,Java中计算百分比值涉及的关键知识点包括: 1. 数值类型的转换:将整型转换为浮点型以进行精确计算。 2. 除法运算:计算部分值与总数的比例。 3. `DecimalFormat`类:用于格式化输出,确保百分比值的精度...

    java实现流量控制流量控制

    Java作为一种广泛使用的编程语言,同样提供了多种方法来实现流量控制。本篇文章将深入探讨Java如何实现流量控制,并结合具体实例来阐述相关知识点。 首先,我们要理解流量控制的基本原理。在TCP(传输控制协议)中...

    百分比计算

    输入sub 和 total 计算百分比的工具类,非常简单粗暴。。。。。。。。。。

    JAVA版的WINDOWS计算器

    该项目的主要目标是复制Windows操作系统自带的计算器应用程序的功能,包括基本的加减乘除、百分比计算、平方根、立方根、阶乘等。通过这个项目,开发者可以学习到如何在Java中创建图形用户界面(GUI)以及如何处理...

    计算游戏的java小demo,排行榜+10个计算+GUI

    - 这个项目的计算游戏可能包括数学问题,如加减乘除、平方根、百分比计算等,旨在锻炼用户的计算能力和逻辑思维。 - 游戏可能包含多种难度级别,以适应不同用户的需求。 3. **排行榜功能**: - 排行榜是记录用户...

    java控制台输出百分比进度条示例

    在Java编程中,有时我们需要在控制台上显示任务的进度,比如下载、上传或者计算等操作。这可以通过创建一个百分比进度条来实现,使用户能够直观地了解程序执行的进度。本文将详细介绍如何在Java控制台上实现一个简单...

    java保留两位小数问题

    本文将深入探讨如何在Java中保留两位小数,并覆盖四舍五入、浮点数精确计算以及避免科学记数法等问题。 #### 四舍五入保留两位小数 四舍五入是数学中的一个基本概念,指的是当一个数的小数部分小于等于0.5时,将其...

    个人所得税收计算java入门程序

    4. **数学运算**:计算个人所得税涉及到加减乘除和百分比运算。Java提供了丰富的数学运算符,如`+`, `-`, `*`, `/` 和 `%`,以及`Math`类中的方法,如`Math.pow()`用于求幂,`Math.round()`用于四舍五入。 5. **...

    Java中实现百分比

    import java.text.NumberFormat; public class TeachYou { public static void main(String[] args) { //这里的数后面加“D”是表明它是Double类型,否则相除的话取整,无法正常使用 double percent = 50.5D / ...

    Java获取计算机CPU、内存等信息

    需要注意的是,这个值是瞬时的,如果需要获取一段时间内的平均CPU使用率,需要进行多次采样并计算平均值。 接下来,我们谈谈如何获取内存信息。Java提供`MemoryMXBean`和`MemoryPoolMXBean`接口来获取内存使用情况...

    jsp中百分比表示方法

    在JSP(JavaServer Pages)页面中处理百分比表示是一个常见的需求,尤其是在展示数据分析结果时。根据提供的文件信息,我们可以提炼出几个关键的知识点:如何在JSP中正确计算并显示百分比、如何使用`BigDecimal`来...

    java根据比例概率生成随机数

    Java 根据比例概率生成随机数 概率随机数是指根据事先设定的概率分布生成随机数的方法。在 Java 中,可以使用 Math.random() 方法生成随机数,然后根据概率分布判断返回的数字。 在给定的代码中,作者定义了一个 ...

    SimHash-java实现及海明距离

    SimHash是一种用于文本相似度计算的算法,它在大数据领域,尤其是搜索引擎和推荐系统中有着广泛应用。SimHash的原理是将一个长文本映射为一个短的哈希值,使得相似的文本拥有接近的哈希值。这种方法可以快速判断两段...

    java计算器

    在“java写的计算器(功能完整)”这个项目中,我们可以推测这个计算器实现了一系列常见的计算功能,例如: 1. 基本运算:包括加法(+)、减法(-)、乘法(*)和除法(/)。 2. 操作符优先级:计算器可能支持正确的...

Global site tag (gtag.js) - Google Analytics