首页 > 其他分享 >项目中计算小数和百分比的总结

项目中计算小数和百分比的总结

时间:2023-03-08 11:24:42浏览次数:34  
标签:总结 百分比 BigDecimal float 相除 new 小数

 

项目中经常遇到要求百分比,比如平均增长率,增长占比

DecimalFormat df = new DecimalFormat("0.00%");
System.out.println(df.format((float)1/3));

运行结果如下:decimalformat会自动转化小数为百分比,并且保留2位小数

 

 注意看(float)1/3  ,如果不加float的话,结果就是0

两个整数相除的结果是整数,/代表取商,%代表取余

有一个是浮点数,相除就是浮点数,

如果要是表示精确的数值需要使用BigDecimal

BigDecimal delta=new BigDecimal(Math.abs(sourceCtr-targetCtr));
BigDecimal tempCtrChangeRate=delta.divide(new BigDecimal(sourceCtr),10,RoundingMode.CEILING);//保留10位小数,对于除不尽的表达式需要指定结果的小数位置,否则会报错

BigDecimal运行有时候会报空指针异常:

那是因为BigDecimal的变量没有设置初始值,默认是null,可以按照下面的方式设置初始值

BigDecimal bigDecimal=BigDecimal.ZERO;

 

标签:总结,百分比,BigDecimal,float,相除,new,小数
From: https://www.cnblogs.com/zhaijing/p/17191320.html

相关文章

  • 总结20230307
    今天上了实用英语阅读与翻译、数据库原理、Python程序设计。实用英语阅读与翻译是第一节课,这节课我神经高度紧张,因为自身的英语基础比较差,怕提问的时候什么也不会,只能认真......
  • Mysql 知识总结
    1mysql数据类型1.整数类型tinyint:1个字节(2^8)smallint:2个字节mediumint:3个字节int:4个字节bigint:8个字节2.浮点数类型float:(4个字节)1个符号位,8个指数位,23......
  • 2022.3.7学习总结
    按照我们敬爱的建民老师的要求,我对我的UI交互界面做了一些优化,包括两个方面,首先是按钮的风格,接着又解决了标题栏的问题。 由于能力有限,暂时设计不出更加漂亮的标题栏,于......
  • 资料分析、图形推理总结
    资料分析:截位直除1.概念截位:从左往右保留前几位,看下一位四舍五入2.运用(1)截几位①选项差距大:截两位②选项差距小:截三位(2)截谁①一步除法:只对分母截位②多步乘除:分子、分母......
  • 2023.3.7每日总结
    今天学习了获取系统时间并且使用DatePicker标签自由选择时间<DatePickerandroid:layout_margin="10dp"android:id="@+id/select_time"and......
  • JAVA项目中的常用的异常处理情况总结
    一,JDK中与异常相关的类分析:Java中的异常分类:Throwable类有两个直接子类:Exception:出现的问题是可以被捕获的;Error:系统错误,通常由JVM处理。可捕获的异常又可以分为两......
  • 每日总结3.7
    每日总结:所花时间:5h代码量:0行博客量:1篇————————————~~~~~~刷~~~~~————————————————今天的课程有英语、数据库与python......
  • 3-7总结
    今天针对与昨天的上课测试importjava.util.Scanner;publicclassmain{publicstaticvoidmain(String[]args){Scannercin=newScanner(Syste......
  • 3月07日课后总结
    3/07课后总结模块的简介1.什么是模块? #一系列功能的集合体2.为什么要用模块? #为了提高开发效率3.模块的来源1.内置:python解释器自带的2.第三方:别人......
  • 2023.3.7每日总结
    开发Android应用也需要以下5步:开发工具安装和配置搭建开发环境在AndroidStudio中,创建第一个项目完成简单Helloworld代码编写编译APK文件,让应用在手机上......