java中负数取整_Java取整,固定保留两位小数,适配负数、金融数字。
文/阿敏其人
本文出自阿敏其人博客,转载请注明出处和连接。
整数前的0去掉。
小数固定保留两位小数
兼容负数
数字检测
适配金融大数额
核心类
public class BigDecimalStringUtil {
/**
* 数字字符串,转成BigDecima格式,兼容大数字
* 并且保留两位小数
* @return
*/
public static String str2BigDecimalKeepDouble(String numStr){
if(!isNumeric(numStr)){
// 不是数字,直接返回空
return "";
}else{
// 是数字,那么那么就返回式子,保证有两位小数,整数前面不会出现0。
BigDecimal bigDecimal = new BigDecimal(numStr);
double doubleNum = bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
/**
* String s=String.format("%.2f",d);
* 若double d=0.6566,输出结果为0.66;
* 若double d=0,输出结果为0.00;
*/
String keepTwoDecimalPlaces=String.format("%.2f",doubleNum);
return keepTwoDecimalPlaces;
}
}
/**
* 匹配是否为数字,小数点,大数字 负述适用
* @param str 可能为中文,也可能是-19162431.1254,不使用BigDecimal的话,变成-1.91624311254E7
* @return
* @author yutao
* @date 2016年11月14日下午7:41:22
*/
public static boolean isNumeric(String str) {
// 该正则表达式可以匹配所有的数字 包括负数
Pattern pattern = Pattern.compile("-?[0-9]+(\\.[0-9]+)?");
String bigStr;
try {
bigStr = new BigDecimal(str).toString();
} catch (Exception e) {
return false;//异常 说明包含非数字。
}
Matcher isNum = pattern.matcher(bigStr); // matcher是全匹配
if (!isNum.matches()) {
return false;
}
return true;
}
}
测试
String s1 = BigDecimalStringUtil.str2BigDecimalKeepDouble("0");
String s2 = BigDecimalStringUtil.str2BigDecimalKeepDouble("0.01");
String s3 = BigDecimalStringUtil.str2BigDecimalKeepDouble("-0.44");
String s4 = BigDecimalStringUtil.str2BigDecimalKeepDouble("00000.000045");
String s5 = BigDecimalStringUtil.str2BigDecimalKeepDouble("0007.89");
String s6 = BigDecimalStringUtil.str2BigDecimalKeepDouble("1232456.9898987");
String s7 = BigDecimalStringUtil.str2BigDecimalKeepDouble("1234567890999.99999");
String s8 = BigDecimalStringUtil.str2BigDecimalKeepDouble("-123456.00");
String s9 = BigDecimalStringUtil.str2BigDecimalKeepDouble("-762367.123123");
String s10 = BigDecimalStringUtil.str2BigDecimalKeepDouble("-0762367.1231234567");
String s11 = BigDecimalStringUtil.str2BigDecimalKeepDouble("1111.2222");
String s12 = BigDecimalStringUtil.str2BigDecimalKeepDouble("-000098989.6666");
String s13 = BigDecimalStringUtil.str2BigDecimalKeepDouble("-000098989.000123");
String s14 = BigDecimalStringUtil.str2BigDecimalKeepDouble("-1234567812345.000123");
String s15 = BigDecimalStringUtil.str2BigDecimalKeepDouble("1234567812345.000123");
String s16 = BigDecimalStringUtil.str2BigDecimalKeepDouble("123ssd123");
String s17 = BigDecimalStringUtil.str2BigDecimalKeepDouble(",123");
String s18 = BigDecimalStringUtil.str2BigDecimalKeepDouble(",-3qwe");
System.out.println("s1:"+s1);
System.out.println("s2:"+s2);
System.out.println("s3:"+s3);
System.out.println("s4:"+s4);
System.out.println("s5:"+s5);
System.out.println("s6:"+s6);
System.out.println("s7:"+s7);
System.out.println("s8:"+s8);
System.out.println("s9:"+s9);
System.out.println("s10:"+s10);
System.out.println("s11:"+s11);
System.out.println("s12:"+s12);
System.out.println("s13:"+s13);
System.out.println("s14:"+s14);
System.out.println("s15:"+s15);
System.out.println("s16:"+s16);
System.out.println("s17:"+s17);
System.out.println("s18:"+s18);
image.png
END,谢谢阅读。
部分参考:
https://blog.csdn.net/u013066244/article/details/53197756
java中负数取整_Java取整,固定保留两位小数,适配负数、金融数字。相关推荐
- java保留两位小数并向上取整_Java取整,固定保留两位小数,适配负数、金融数字。...
文/阿敏其人 本文出自阿敏其人简书博客,转载请注明出处和连接. 整数前的0去掉. 小数固定保留两位小数 兼容负数 数字检测 适配金融大数额 核心类 public class BigDecimalStr ...
- java double 保留小数_java使double类型保留两位小数的方法
java使double类型保留两位小数的方法 本文是百分网小编整理的主要介绍关于java使double类型保留两位小数的方法,有需要的朋友们一起看看吧!想了解更多相关信息请持续关注我们应届毕业生考试网 ...
- 在vue中,页面中访问全局的函数,例子:保留两位小数函数
1.js里面写函数. //组态图上取两位小数 function toDecimal(x) { var f = 0; //判断是否是字符串类型 if(typeof(x) == "string& ...
- java BigDecimal保留两位小数
对于一些精准的数字,如涉及到金额时我们一般会使用BigDecimal类型来保存和处理.在处理保留小数位数时,如果通过DecimalFormat表达式需要注意下. 1.通过DecimalFormat保留 ...
- Java中的BigDecimal比较大于小于等于,四舍五入保留几位(setScale方法详解),加减乘除取余
本文主要讲解BigDecimal的比较运算,保留精度和取整和基础运算,BigDecimal与其他数据类型转换. 文章目录 比较运算 保留精度及取整 取整(保留0位小数) 保留精度 基础运算 BigDe ...
- js保留两位小数、取整、四舍五入
vue.js保留两位小数.取整.四舍五入 保留小数点后两位的四种方法 小数取整 四舍五入 这篇文章适合学习js且又不知道如何保留小数点后两位的友友们阅读哦~ 想讨论更多编程话题 加入qq群聊:1090 ...
- python取两位小数点的函数_python中round函数保留两位小数的方法
在我们日常计算的过程中,如果计算出小数,对大量的被保留数据,采用四舍五入这种保留法的误差总和是最小的,能使被保留部分的与实际值差值不超过最后一位数量级的二分之一.四舍五入是一种精确度的保留法,是我们使 ...
- java中想要保留2位小数_java使double保留两位小数的多方法 java保留两位小数
mport java.text.DecimalFormat; DecimalFormat df = new DecimalFormat("######0.00"); do ...
- java int 保留两位小数_java保留两位小数
java保留两位小数问题: 方式一: 四舍五入 double f = 111231.5585; BigDecimal b = new BigDecimal(f); doub ...
最新文章
- 手机php转换txt,PHP 实现的将图片转换为TXT
- android TextView 文本里面设置超链接
- real6410 裸机实验- LED
- 为WPF和Silverlight的Grid添加边框线
- 模型占用GPU显存计算
- python database ioerror_python – IOError:[Errno 2]没有这样的文件或...
- [云框架]KONG API Gateway v1.5 -框架说明、快速部署、插件开发
- 数据可视化表格-设计经验分享!
- mysql 记录操作_MySQL 记录操作
- ipq4019 识别板卡型号的过程
- python将npy文件转换成图片
- 【Windows】六种正确清理C盘的方法,解决你的红色烦恼
- 安全厂商发布网络间谍平台ProjectSauron研究报告
- lol超长id注册手把手教程 第一期
- MySQL根据idb文件恢复数据
- c语言的split字符串分割(函数strtok)
- HTML5期末大作业:商城网站设计——仿唯品会购物商城(5页) 纯手写-高质量 HTML+CSS+JavaScript
- Android音视频开发(一)——音视频开发流程
- 软件包 jdk1.8-2000:1.8.0_281-fcs.aarch64 是针对 different 构架的
- 工具-python包-虚拟环境管理(99.4.1)
热门文章
- 避免CRM_IB 013 error message
- Java里的class对象 - class object
- 使用SAP WebIDE往Github上推送代码修改时遇到错误消息 Commit request failed Commit failed. Ref must be HEAD and is HEAD
- 后台nodejs程序如何主动推送数据给浏览器
- MongoDB最简单的入门教程之三 使用Java代码往MongoDB里插入数据
- rs485如何使用_12个经典问答:带你全面了解RS485接口知识
- docker安装gamit_科学网—Ubuntu系统GAMIT/GLOBK程序安装 - 陈超的博文
- android studio socket编程实例
- Linux结构体变量报错,23. Linux模式设计
- python绘制立体扇形_Python实现PS滤镜特效之扇形变换效果示例