数组操作助手类
来源:互联网 发布:mac版本ps免费版下载 编辑:程序博客网 时间:2024/05/21 09:16
- public class NumberHelper {
- private static Log logger = LogFactory.getLog(NumberHelper.class);
- /**
- * 将源数字格式化为指定的长度,不足的位数在前面补零,如果长度小于源数字的长度返回原始数字
- * 适用于在产生指定长度的流水号时使用
- *
- * @param source
- * @return
- */
- public static String number2char(int source,int length) {
- try{
- String module = new String();
- for (int i=0; i<length; i++){
- module += "0";
- }
- DecimalFormat format = new DecimalFormat(module);
- return format.format(source);
- } catch (Exception e){
- logger.error("源数字或指定长度非法", e);
- e.printStackTrace();
- return null;
- }
- }
- /**
- * 将百分比格式化为数字表示,默认使用四舍五入的算法不舍去小数位数
- *
- * @param source 百分比格式的数字
- * @return
- */
- public static Double percent2number(double source){
- try{
- BigDecimal big = new BigDecimal(source);
- return big.divide(new BigDecimal(100)).doubleValue();
- } catch (Exception e){
- logger.error("将百分比格式化为数字表示出现错误", e);
- e.printStackTrace();
- return null;
- }
- }
- /**
- * 将百分比格式化为数字表示,默认使用四舍五入的算法并保留指定位数的小数
- *
- * @param source 百分比格式的数字
- * @param length 小数位数
- * @return
- */
- public staticdouble percent2number(double source,int length){
- try{
- BigDecimal big = new BigDecimal(source);
- return big.divide(new BigDecimal(100), length, RoundingMode.HALF_UP).doubleValue();
- } catch (Exception e){
- logger.error("将百分比格式化为数字表示出现错误", e);
- e.printStackTrace();
- return 0;
- }
- }
- /**
- * 将两个数字相除并返回百分格式
- *
- * @param dividend 被除数
- * @param divisor 除数
- * @return 带%号的字符串
- */
- public static String divide2Percent(int dividend,int divisor){
- return number2percent(divide(dividend, divisor));
- }
- /**
- * 将数字格式化为百分比表示
- *
- * @param source
- * @return
- */
- public static String number2percent(double source){
- try{
- DecimalFormat format = new DecimalFormat("#.##%");
- return format.format(source);
- } catch (Exception e){
- logger.error("将数字格式化为百分比表示出现错误", e);
- e.printStackTrace();
- return null;
- }
- }
- /**
- * 两个整数相除保留两位小数
- *
- * @param dividend 被除数
- * @param divisor 除数
- * @return
- */
- public static Double divide(int dividend,int divisor){
- return divide(dividend, divisor,2);
- }
- /**
- * 两个整数相除保留指定位数的小数
- *
- * @param dividend 被除数
- * @param divisor 除数
- * @param length 保留小数位数的长度
- * @return
- */
- public static Double divide(int dividend,int divisor, int length){
- try{
- if (dividend ==0){
- return 0D;
- }
- BigDecimal big = new BigDecimal(divisor);
- double d = big.divide(new BigDecimal(dividend), length, RoundingMode.HALF_UP).doubleValue();
- return d;
- } catch (Exception e){
- logger.error("数字相除发生错误", e);
- e.printStackTrace();
- return null;
- }
- }
- /**
- * 将double数据保留指定位数的小数
- * @param length 保留小数位数的长度
- * @return
- */
- public static Double divide(double source,int length){
- try{
- if (source ==0){
- return 0D;
- }
- BigDecimal big = new BigDecimal(source);
- double d = big.setScale(length, RoundingMode.HALF_UP).doubleValue();
- return d;
- } catch (Exception e){
- logger.error("保留指定位数的小数发生错误", e);
- e.printStackTrace();
- return null;
- }
- }
- /**
- * 将double数据保留指定位数的小数
- * @param length 保留小数位数的长度,小数位数不够,以0补全。
- * 支持科学计算法
- * @return
- */
- public static String divideToString(double source,int length){
- BigDecimal big = new BigDecimal(source);
- return big.setScale(length, RoundingMode.HALF_UP).toString();
- }
- /**
- * 将String数据保留指定位数的小数
- * @param length 保留小数位数的长度,小数位数不够,以0补全。
- * 支持科学计算法
- * @return
- */
- public static String divideToString(String source,int length){
- BigDecimal big = new BigDecimal(source);
- return big.setScale(length, RoundingMode.HALF_UP).toString();
- }
- public staticvoid main(String[] args){
- System.out.print(divideToString("1.23E4",5));
- }
- }
0 0
- 数组操作助手类
- 数字操作助手类
- 日期操作助手类
- 日期操作助手类
- 字符串操作助手类
- 泛型委托结合《数组助手类》
- NPOI - Office操作助手
- 傻瓜式操作助手
- 集合或数组的助手类(工具类,直接调用)
- 助手类
- DataTable 相关操作小助手
- Arrays类操作数组
- 一个数组操作类
- CTwainHelper 助手类
- 分页助手类
- 数据缓存助手类
- PHP数据库助手类
- SQLServer助手类
- linux驱动开发 主设备号与次设备号
- git github gitlib 的介绍
- net 中捕获摄像头视频的方式及对比(How to Capture Camera Video via .Net)
- 子串的定位操作通常称为串的模式匹配。
- java截取字符串split的用法!
- 数组操作助手类
- android 页面停几秒后跳转
- BF算法
- log4j
- 远程连接mysql速度慢的解决方法:skip-name-resolve取消DNS的反向解析
- PRTSCR即print screen。
- 我们先来看BF算法(Brute-Force,最基本的字符串匹配算法)
- java标签(1)自定义及附属功能
- 如果在主串Tag的第pos个位置后存在