BigDecimal 使用 静态方法总结
转自:http://myrecord.top/?post=18
-------------千位加,
public static String getQs(String old){
boolean result= old.matches("^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$");
if(result&&old!=null&&!"".equals(old)){
DecimalFormat df = new DecimalFormat("#,###");
old=df.format(Double.valueOf(old));
return old;
}else{
return old;
}
}
-------------数字相加,加%
public static String getSum(String parm,String parm1){
if(null!=parm&&parm1==null){
return parm;
}else if(null!=parm&&null!=parm1){
BigDecimal bef= new BigDecimal(parm.replace("%", ""));
BigDecimal afe= new BigDecimal(parm1.replace("%", ""));
return bef.add(afe).toPlainString()+"%";
}else if(null==parm&&parm1!=null){
return parm1;
}else{
return "";
}
}
-----------相除保留2位
public static String getsumBili(BigDecimal bef,BigDecimal afe){
if(null!=afe&&!afe.toString().substring().equals("")){
String numStr=new java.text.DecimalFormat("0.00").format(bef.divide(afe));
return new BigDecimal(numStr).toPlainString();
}else{
return "";
}
}
---------------保留六位并且忽略后面0,这里如果位数比较多,在页面显示会是科学计数法,因为BigDecimai,
public static BigDecimal reSixBig(BigDecimal ss){
String numStr=new java.text.DecimalFormat("0.000000").format(ss);
BigDecimal newNum=new BigDecimal(numStr);
return newNum.stripTrailingZeros();
}
-------------已验证------字符有可能为 0.00000123--
public static String delezero(String old){
boolean result= old.matches("^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$");
if(result&&old!=null&&!"".equals(old)){
String newStr=old;
if(old.contains(".0")&&"".equals(old.substring(old.length()-))){
old=newStr.substring(, old.length()-); -----删除.
}
return old;
}else{
return old;
}
}
----toPlainString 不以科学计数法显示
----stripTrailingZeros 去除后面0,只能去除小数后有效数字之后的无效0
System.out.println(new BigDecimal("0.0000").stripTrailingZeros());
这里的0.0000便无法去除,这时便需要delezero()来处理
------------------舍弃科学计数法
public static String reSixBig(BigDecimal ss){
String numStr=new java.text.DecimalFormat("0.000000").format(ss);
System.out.println(numStr);
BigDecimal newNum=new BigDecimal(numStr);
return newNum.stripTrailingZeros().toPlainString();
}
public BigDecimal add(BigDecimal value);//加法
public BigDecimal subtract(BigDecimal value); //减法
public BigDecimal multiply(BigDecimal value); //乘法
public BigDecimal divide(BigDecimal value); //除法
BigDecimal 使用 静态方法总结的更多相关文章
- 一切的浮点型进行计算操作都要用BigDecimal
简化: 1.引言 float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的.然而,它们没有提供完全精确 ...
- bigDecimal学习
1.引言 float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的.然而,它们没有提供完全精确的结果, ...
- 使用BigDecimal进行精确运算
首先我们先来看如下代码示例: 1 public class Test_1 { 2 public static void main(String[] args) { 3 System.out.print ...
- Math类中的BigDecimal
如果我们编译运行下面这个程序会看到什么? public class Test { public static void main(String args[]) { ...
- Java浮点数float,bigdecimal和double精确计算的精度误差问题总结
(转)Java浮点数float,bigdecimal和double精确计算的精度误差问题总结 1.float整数计算误差 案例:会员积分字段采用float类型,导致计算会员积分时,7位整数的数据计算结 ...
- BigDecimal 转换类型
使用BigDecimal类来进行计算的时候,主要分为以下步骤: 1.用float或者double变量构建BigDecimal对象. 2.通过调用BigDecimal的加,减,乘,除等相应的方法进行算术 ...
- Java BigDecimal大数字操作
在java中提供了大数字的操作类,即java.math.BinInteger类和java.math.BigDecimal类.这两个类用于高精度计算,其中BigInteger类是针对大整数的处理类,而B ...
- 使用Java BigDecimal进行精确运算
首先我们先来看如下代码示例: public class Test_1 { public static void main(String[] args) { System.out ...
- java BigDecimal的使用和四舍五入及格式规范(精准数据)
• Java中的简单浮点数类型float和double不能够进行运算.不光是Java,在其它很多编程语言中也有这样的问题. 如果我们编译运行下面这个程序会看到什么? public class T ...
随机推荐
- 初见akka-01
最近在学习akka,在看rpc相关的东西,有点脑子疼,哈哈 1.需求: 目前大多数分布式架构底层通信是通过RPC实现的,RPC框架非常多, 比如我们学过的Hadoop项目的RPC通信框架,但是Hado ...
- Android面试收集录12 View测量、布局及绘制原理
一.View绘制的流程框架 View的绘制是从上往下一层层迭代下来的.DecorView-->ViewGroup(--->ViewGroup)-->View ,按照这个流程从上往下, ...
- Android自定义组件之简单组合
Android自定义控件有两种,一种是组合.比如一个linearlayout 里面有textview,imageview. 这样的好处是,写一个就可以多处使用. view_image_and_butt ...
- myeclipse用maven搭建web项目后tomcat启动报找不到jar包解决办法
因为maven项目jar包放在Maven Dependencies内,用tomcat启动web项目,会找WEB-INF下的lib目录,需要部署Maven Dependencies 选中项目-prope ...
- 我给女朋友讲编程CSS系列(4) CSS盒子模型
什么是CSS盒子模型?如何学习CSS的盒子模型? 这篇文章,以 [分享 + 结论] 的方式来写. 1, 看w3school的[CSS 框模型概述] 网址为: http://www.w3school ...
- 【Divided Two】cpp
题目: Divide two integers without using multiplication, division and mod operator. If it is overflow, ...
- IIS Express mime type 列表。
C:\Users\Administrator\Documents\IISExpress\config\applicationhost.config -------------------------- ...
- Oracle 学习----游标(使用无参光标cursor)
表: ----游标----------------------------- declare cursor tt is select name,sal from temp; vname temp.na ...
- 2 27re.py
""" 匹配目标 """ # import re # content = 'Hello 123 4567 World_This is a R ...
- LDA和PCA降维的原理和区别
LDA算法的主要优点有: 在降维过程中可以使用类别的先验知识经验,而像PCA这样的无监督学习则无法使用类别先验知识. LDA在样本分类信息依赖均值而不是方差的时候,比PCA之类的算法较优. LDA算 ...