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 ...
随机推荐
- node-sass安装不成功的问题
SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/ npm install node-sass 简单粗暴的执行上述的命令.
- stm32--free modbus 1.5.0移植(作为从机)
添加文件 获取原始free modbus library(官网) 将...\freemodbus-v1.5.0\demo\BARE中的所有文件复制到...\freemodbus-v1.5.0\modb ...
- 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(二)
本文导航 -7. 安装 PHP0 -8. 安装 MariaDB 数据库 -9. 安装和配置 SSH 服务器 -10. 安装 GCC (GNU 编译器集) -11. 安装 Java 7. 安装 PHP ...
- 底部菜单栏之Fragment的详细介绍和使用方法
详情请看:http://blog.csdn.net/loongggdroid/article/details/9366413
- ARC下,不显式指定任何属性关键字时,默认的关键字都有哪些
1.对应基本数据类型默认关键字是 atomic,readwrite,assign 2.对于普通的 Objective-C 对象 atomic,readwrite,strong
- Java基础-4变量与数据类型
变量:变量是Java程序中的一个基本存储单元.变量是一个标识符.类型及一个可选初始值的组合定义.所有的变量都有一个作用域,即变量在某一区域有效. 基本的变量声明方式如下: int a; float b ...
- (原)Unreal 渲染模块 渲染流程
@author:白袍小道 浏览分享随缘,评论不喷亦可. 扯淡部分: 在temp中,乱七八糟的说了下大致的UE过程.下面我们还是稍微别那么任性,一步步来吧. UE渲染模块牵扯到场景遍历. ...
- 调整CodeIgniter错误报告级别
修改位置:CI根目录 index.php 为开发环境与生产环境定义错误报告级别 if (defined('ENVIRONMENT')) { switch (ENVIRONMENT) { case 'd ...
- [ecmanget][常用标签]bookmark
Bookmarks Bookmarks 书签栏 redis Try RedisRedisRedis应用2-Redis实现开发者头条页面点赞功能 - noaman_wgs的博客 - CSDN博客wind ...
- 浅析Kerberos原理,及其应用和管理
文章作者:luxianghao 文章来源:http://www.cnblogs.com/luxianghao/p/5269739.html 转载请注明,谢谢合作. 免责声明:文章内容仅代表个人观点, ...