java计算同比增长率的工具类

import java.text.DecimalFormat;
import java.text.NumberFormat;/*** @ClassName PercentUtil* @Descript TODO* @Author BestOne* Date 2021/5/27 15:13*/
public class PercentUtil {public static String myPercent(int y, int z) {String baifenbi = "";// 接受百分比的值double baiy = y * 1.0;double baiz = z * 1.0;double fen = baiy / baiz;// NumberFormat nf = NumberFormat.getPercentInstance();注释掉的也是一种方法// nf.setMinimumFractionDigits( 2 ); 保留到小数点后几位DecimalFormat df1 = new DecimalFormat("##%");// ##.00%// 百分比格式,后面不足2位的用0补齐// baifenbi=nf.format(fen);baifenbi = df1.format(fen);// System.out.println(baifenbi);return baifenbi;}public static String myPercentTest(int y, int z) {String baifenbi = "";// 接受百分比的值double baiy = y * 1.0;double baiz = z * 1.0;double fen = baiy / baiz;// NumberFormat nf = NumberFormat.getPercentInstance();注释掉的也是一种方法// nf.setMinimumFractionDigits( 2 ); 保留到小数点后几位DecimalFormat df1 = new DecimalFormat("##%");// ##.00%// 百分比格式,后面不足2位的用0补齐// baifenbi=nf.format(fen);baifenbi = df1.format(fen);System.out.println(baifenbi);return baifenbi;}/***  **计算月增长率***    sameMonth 本月金额*    lastMonth 上月金额*/public static String getAnalysisData(int sameMonth, int lastMonth) {// 创建一个数值格式化对象NumberFormat numberFormat = NumberFormat.getInstance();// 设置精确到小数点后2位numberFormat.setMaximumFractionDigits(0);Integer growthNum=0;String growthPercent="0";// String result = numberFormat.format((float) num1 / (float) num2 * 100);if (lastMonth > 0 && sameMonth > 0) {if (lastMonth < sameMonth) {//如果下个数大于上个数,则增长率 为 正/*  float result = (sameMonth - lastMonth) / lastMonth * 100;return String.format("%10.2f%%", result).trim();*/growthNum=sameMonth - lastMonth;growthPercent=  numberFormat.format((float)growthNum / (float) lastMonth * 100)+ "%";return  growthPercent;} else if (lastMonth > sameMonth) {//如果下个数小于上个数,则增长率 为 负/*   float result = (lastMonth - sameMonth) / sameMonth * 100;return String.format("%10.2f%%", result).trim();*/growthNum=lastMonth - sameMonth;growthPercent=  numberFormat.format((float)growthNum / (float) sameMonth * 100)+ "%";return  growthPercent;} else {//如果相等,增长率为 0return "0%";}} else if (lastMonth > 0 && sameMonth == 0) {//如果上个数大于0,下个数为0,增长率为 0return "0%";} else if (lastMonth == 0 && sameMonth > 0) {//如果下个数大于0,上个数为0,增长率为 0growthNum= sameMonth- lastMonth;growthPercent=  numberFormat.format((float)growthNum / (float) sameMonth * 100)+ "%";return  growthPercent;} else{//如果相等,增长率为 0return "0%";}}}

调用方法如下:

 String resultTest = PercentUtil.getAnalysisData(19,10);System.out.println("增长率resultTest=:" + resultTest );

java 计算同比增长率相关推荐

  1. Power BI中计算同比、环比

    财务需求中经常要求计算数据的同比.环比,下面介绍如何在Power BI 中创建用来计算同比和环比的度量值(SSAS模型中同理)... 现金表中有金额,时间(时间需要连续的年月日格式),计算同比.环比. ...

  2. ORACLE——一条SQL计算同比、环比

    按照月份进行计算: SELECT D.YEARMONTH, D.VALUE, TO_CHAR(NVL(ROUND(DECODE(D.monthOnMonth,0,NULL,(D.VALUE - D.m ...

  3. Java计算两个字符串日期之间的天数差

    Java计算两个字符串日期之间的天数差 调用方法: public static void main(String[] args) throws ParseException {String a = & ...

  4. 炒股Java_基于java计算买卖股票的最佳时机

    这篇文章主要介绍了基于java计算买卖股票的最佳时机,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 问题: 可以将问题转化为如下图所示,即求多个累计 ...

  5. java中日期计算时间差,用java计算日期/时间差

    用java计算日期/时间差 我也想计算两个日期之间的差额以小时/分钟/秒为单位. 我的代码有一个小问题,就是:String dateStart = "11/03/14 09:29:58&qu ...

  6. 计算同比 环比_PowerBI学习教程(三)时间累积同比环比计算

    YOY 同比增长率( Year Over Year): 按年度计的增长率 MOM 环比增长率 (Month Over Month): 按月度计的增长率 YTD 年累计 (Year to Date): ...

  7. java如何计算时间天数差,java计算两个时间相差天数的方法汇总

    问题描述: 输入:两个日期 输出:两个日期相差的天数 具体代码实现 方法1: 通过calendar类的日期比较.注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的 年份是 ...

  8. Java计算时间差、日期差总结(亲测)

    Java计算时间差.日期差总结 最近工作中遇到需要计算时间差,搜索了几种计算时间差的方法,这里总结一下 1.java 7中的日历类Calendar Calendar类使用其静态的getInstance ...

  9. Java计算时间差_传统的SimpleDateFormat类

    Java计算时间差_传统的SimpleDateFormat类 SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd ...

  10. java计算混淆矩阵(分类指标:查准率P,查全率R,P和R的调和均值F1,正确率A)

    [0]README 本文使用 java 计算混淆矩阵,并利用 混淆矩阵值计算 分类指标:通用分类指标有: 查准率,查全率,查准率和查全率的调和均值F1值,正确率, AOC, AUC等:本文计算前4个指 ...

最新文章

  1. window 远程访问本地centos/redhat虚拟机上jupter notebook 配置方法
  2. 西南石油大学计算机科学院信息,梁宗文 - 西南石油大学 - 计算机科学学院
  3. 2021牛客多校3 - Kuriyama Mirai and Exclusive Or(差分+倍增)
  4. Tcpdump个人实战总结
  5. php bean,php框架Phpbean说明
  6. 修改现有站点的主机标头
  7. 20世纪50年代开始,数字技术出现,数字计算机开始代替模拟计算机,我们从电气时代逐渐走到了信息时代,电脑重塑了社会的架构与价值。...
  8. 高质量外链该怎样做?
  9. 深入掌握JMS(五):实战Topic 1
  10. 如果查找SCI期刊属于哪个中科院分区
  11. wps xml转换表格_PDF转换神器安装步骤
  12. 将py文件打包成可exe文件
  13. 如何写好工作日报,周报,月报?
  14. Vue 登录验证之滑动拼图验证码
  15. MatrixDB v4.5.0 重磅发布,全新推出 MARS2 存储引擎!
  16. 思科模拟器中配置单区域OSPF
  17. 用计算机处理表格信息,用计算机处理数据
  18. 蓝牙LMP响应超时 BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT
  19. vivado生成mig_Vivado 2015.1 MIG生成DDR4控制器例化问题求助!(急)
  20. Oracle导入dmp数据

热门文章

  1. java 设置文本框文字居中_div居中 边框设置 文字行高设置
  2. 复变函数:复数基本知识、欧拉公式、复变函数的导数、解析函数
  3. 6步解决win7局域网内传输慢的问题
  4. 苹果3年提起215起商标异议申请,对菠萝也要争,被指“霸凌”
  5. 外企重修课:商人高通、任性微软、老姜IBM
  6. matlab画多個平面,matlab的平面二维图的绘制.ppt
  7. win10 WIFI连接无选项时的解决方法
  8. el-table点击单元格自动聚焦可编辑,且失去焦点即修改成功的实现方法
  9. 我过去1个月的上课总结
  10. server: WebGame服务端架构分析