일반 수치 데이터 처리 유틸리티

황제낙엽 2019.05.12 02:28 조회 수 : 2101

sitelink1  
sitelink2  
sitelink3  
sitelink4  
sitelink5  
sitelink6  

import java.math.BigDecimal;

 

public class NumberUtils {

 

/**

* Hex -> 10진수 변환

* @param hex

* @return

*/

public static String hexToDecString(String hex) {

return String.valueOf(hexToDecNumber(hex));

}

 

/**

* Hex -> 10진수 변환

* @param hex

* @return

*/

public static long hexToDecNumber(String hex) {

return Long.parseLong(hex, 16);

}

 

/**

* 10진수 -> Hex 변환

* @param dec

* @return

*/

public static String decToHexString(String dec) {

 

long intDec = Long.parseLong(dec);

return Long.toHexString(intDec).toUpperCase();

}

 

/**

* 10진수 -> Hex 변환

* @param dec

* @return

*/

public static String decToHexString(long dec) {

 

return Long.toHexString(dec).toUpperCase();

}

 

/**

* 수치형 문자열인지 검사

* @param num

* @return

*/

public static boolean isNumber(String num) {

return num == null ? false : num.matches("[0-9.]+");

}

 

    

    /**

     * 실수값에 대해 내림,반올림,올림 처리

     * @param decimal 부동소수

     * @param loc 자릿수 제한 위치 (제한된 자리수의 뒷자리 값으로 올림이나 내림을 취함 -> BigDecimal.setScale의 첫번째 파라미터 newScale를 의미함)

     * @param mode 1 내림 , 2 반올림 , 3 올림

     * @return BigDecimal 처리 결과

     */

    public static BigDecimal decimalRound(double decimal, int loc, int mode) {

 

        BigDecimal bd = new BigDecimal(decimal);

        BigDecimal result = null;

 

        if (mode == 1) {

            result = bd.setScale(loc, BigDecimal.ROUND_DOWN); // 내림

        } else if (mode == 2) {

            result = bd.setScale(loc, BigDecimal.ROUND_HALF_UP); // 반올림

        } else if (mode == 3) {

            result = bd.setScale(loc, BigDecimal.ROUND_UP); // 올림

        }

 

        return result;

    }

    

    /**

     * 실수를 정수로 변환</br>

     * 소수점 부분은 버린다 (반올림이 아님)

     * @param real

     * @return integer

     */

    public static int convertInteger(double real) {

        return new BigDecimal(real).intValue();

    }

}

 
 
번호 제목 글쓴이 날짜 조회 수
286 MySQL 한글깨짐현상 제거 ( UTF8 ) 황제낙엽 2019.12.08 941
285 java.util.ConcurrentModificationException 황제낙엽 2019.09.08 637
284 String, StringBuilder, StringBuffer file 황제낙엽 2019.08.03 719
283 String vs StringBuffer vs StringBuilder in Java 황제낙엽 2019.08.03 1008
282 Calendar.set() - 날짜 설정하기, Calendar.add() - 날짜 더하기, Calendar.roll() - 그 부분만 날짜 더하기 황제낙엽 2019.08.02 726
281 File 클래스 정리 황제낙엽 2019.07.29 792
280 파일 사이즈를 반환하는 유틸 함수 황제낙엽 2019.07.29 870
279 BufferedReader, BufferedWriter를 활용한 빠른 입출력 황제낙엽 2019.07.29 785
278 현재날짜, 현재시간을 원하는 형태로 출력하는(Format) 다양한 방법 file 황제낙엽 2019.07.29 684
277 자바 소수점 n번째 자리까지 반올림하기 황제낙엽 2019.07.29 777
276 java base64 encodeing,decoding 사용법 황제낙엽 2019.07.24 668
275 java.lang.StackTraceElement Class의 내용 출력 황제낙엽 2019.07.03 767
274 세션의 timeout 설정 >> HttpSession.setMaxInactiveInterval() 황제낙엽 2019.07.03 8904
273 [HttpURLConnection] 서버와의 통신 시도 시점 관련 황제낙엽 2019.06.23 861
272 역컴파일러 (decompiler, jad.exe) file 황제낙엽 2019.06.20 671
271 Microsoft SQL Server JDBC 드라이버 2.0 file 황제낙엽 2019.05.22 769
» 수치 데이터 처리 유틸리티 file 황제낙엽 2019.05.12 2101
269 한글 초성 중성 종성 분리 유틸리티(자작) file 황제낙엽 2019.05.07 828
268 한글 초성 중성 종성 분리 (자모분리) 황제낙엽 2019.05.07 767
267 한글 인코딩의 이해 1편: 한글 인코딩의 역사와 유니코드 황제낙엽 2019.05.07 783