转自: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 使用 静态方法总结的更多相关文章

  1. 一切的浮点型进行计算操作都要用BigDecimal

    简化: 1.引言 float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的.然而,它们没有提供完全精确 ...

  2. bigDecimal学习

    1.引言 float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的.然而,它们没有提供完全精确的结果, ...

  3. 使用BigDecimal进行精确运算

    首先我们先来看如下代码示例: 1 public class Test_1 { 2 public static void main(String[] args) { 3 System.out.print ...

  4. Math类中的BigDecimal

    如果我们编译运行下面这个程序会看到什么? public class Test {    public static void main(String args[]) {                 ...

  5. Java浮点数float,bigdecimal和double精确计算的精度误差问题总结

    (转)Java浮点数float,bigdecimal和double精确计算的精度误差问题总结 1.float整数计算误差 案例:会员积分字段采用float类型,导致计算会员积分时,7位整数的数据计算结 ...

  6. BigDecimal 转换类型

    使用BigDecimal类来进行计算的时候,主要分为以下步骤: 1.用float或者double变量构建BigDecimal对象. 2.通过调用BigDecimal的加,减,乘,除等相应的方法进行算术 ...

  7. Java BigDecimal大数字操作

    在java中提供了大数字的操作类,即java.math.BinInteger类和java.math.BigDecimal类.这两个类用于高精度计算,其中BigInteger类是针对大整数的处理类,而B ...

  8. 使用Java BigDecimal进行精确运算

    首先我们先来看如下代码示例: public class Test_1 {     public static void main(String[] args) {         System.out ...

  9. java BigDecimal的使用和四舍五入及格式规范(精准数据)

    • Java中的简单浮点数类型float和double不能够进行运算.不光是Java,在其它很多编程语言中也有这样的问题. 如果我们编译运行下面这个程序会看到什么? public   class  T ...

随机推荐

  1. Android Stadio 相关

    这几天,电脑坏了.重装系统,慢慢的学到了很多Android stadio 的相关知识.总结一下吧: 1.gradle 编译工具:在工程的gradle/wrapper/gradle–wrapper.pr ...

  2. centos使用--centos7.3配置LNMP

    目录 1 源的配置 2 安装软件 2.1 安装php7 2.2 安装nginx 2.3 安装mysql 2.4 安装vsftp (ftp登录配置) 3 开机启动设置 4 其它一些配置 4.1 git的 ...

  3. 有关ViewFlipper的使用及设置动画效果的讲解

    说到左右滑动,其实实现左右滑动的方式很多,有ViewPaer,自定义实现Viewgroup,gallery等都可以达到这种效果.这里做下ViewFliper实现左右滑动的效果. 会用到以下的技术: 1 ...

  4. 剑指Offer - 九度1214 - 丑数

    剑指Offer - 九度1214 - 丑数2013-11-21 21:06 题目描述: 把只包含因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含因子7. ...

  5. 油田(DFS)

    //DFS:油田问题 #include <iostream> using namespace std; ][]; int n,m; //一个网格的8个方向 ][] = {{-,-},{-, ...

  6. 【转载】法线贴图Nomal mapping 原理

    法线贴图多用在CG动画的渲染以及游戏画面的制作上,将具有高细节的模型通过映射烘焙出法线贴图,贴在低端模型的法线贴图通道上,使之拥有法线贴图的渲染效果,却可以大大降低渲染时需要的面数和计算内容,从而达到 ...

  7. 孤荷凌寒自学python第四十天python 的线程锁RLock

     孤荷凌寒自学python第四十天python的线程锁RLock (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 因为研究同时在多线程中读写同一个文本文件引发冲突,所以使用Lock锁尝试同步, ...

  8. Codeforces Round #326(Div2)

    CodeForces 588A 题意:Duff喜欢吃肉,想在接下来的n天,每天都有Ai斤肉吃,但每一天肉的单价Pi不定,肉 可以保存不过期,现已知n天每天肉的斤数Ai,以及单价Pi,为了使每天都   ...

  9. 写把proto函数搞清楚

    在做blk层之前,先把proto搞清楚 ffi_lua metatype可以给函数加方法, lua中冒号是啥意思?冒号会传入self,但是点号不会传入self

  10. POJ 3974 Palindrome | 马拉车模板

    给一个字符串,求最长回文字串有多长 #include<cstdio> #include<algorithm> #include<cstring> #define N ...