- import java.math.BigDecimal;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- import org.aspectj.org.eclipse.jdt.internal.compiler.batch.Main;
- /**
- * 小学数学老师类
- */
- @SuppressWarnings("unused")
- public class MyGodBasic {
- /**
- * 判断数据字符是否是数字(能转成数字的)
- * @param str 数字字符
- * @return 是数字字符返回true,不是返回false
- */
- public static boolean isNumber(String strNumber){
- boolean bolResult = false;
- BigDecimal temp;
- try {
- temp = new BigDecimal(strNumber);
- bolResult = true;
- } catch (NumberFormatException e) {
- e.getStackTrace();
- }
- return bolResult;
- }
- /**
- * 数学相加
- * @param augend加数
- * @param augend2 被加数
- * @return strResult
- */
- public static String addStr(String augend, String augend2) {
- String strResult = IBasic.NOT_NUMBER_STRING;
- if(isNumber(augend)&&isNumber(augend2)){
- BigDecimal bdAugend = new BigDecimal(augend);
- BigDecimal bdAugend2 = new BigDecimal(augend2);
- bdAugend = bdAugend.add(bdAugend2);
- strResult = bdAugend.toString();
- }
- return strResult;
- }
- /**
- * 数据相减
- * @param augend减数
- * @param augend2被减数
- * @return augend-augend2
- */
- public static String reduceStr(String augend, String augend2) {
- String strResult = IBasic.NOT_NUMBER_STRING;
- if(isNumber(augend)&&isNumber(augend2)){
- BigDecimal bdAugend = new BigDecimal(augend);
- BigDecimal bdAugend2 = new BigDecimal(augend2);
- bdAugend = bdAugend.subtract(bdAugend2);
- strResult = bdAugend.toString();
- }
- return strResult;
- }
- /**
- * String数字相乘
- * @param multiplicand1 乘数1
- * @param multiplicand2 乘数2
- * @param scale小数保留位数
- * @return 运算结果
- */
- public static String multiplyStr(String multiplicand1,
- String multiplicand2, int scale) {
- String strResult = IBasic.NOT_NUMBER_STRING;
- if(isNumber(multiplicand1)&&isNumber(multiplicand2)){
- BigDecimal bdCand1 = new BigDecimal(multiplicand1);
- BigDecimal bdCand2 = new BigDecimal(multiplicand2);
- bdCand1 = bdCand1.multiply(bdCand2);
- strResult = bdCand1.setScale(scale, BigDecimal.ROUND_HALF_UP).toString();
- }
- return strResult;
- }
- /**
- * String数字相除
- * @param divisor除数
- * @param dividend被除数
- * @param scale小数保留位数
- * @return 运算结果
- */
- public static String divideStr(String divisor, String dividend, int scale) {
- String strValue = IBasic.NULL_TO_ZERO;
- if(isNumber(divisor)&&isNumber(dividend)){
- if(isNumberAndNotZero(dividend)){
- BigDecimal bdCand1 = new BigDecimal(divisor);
- BigDecimal bdCand2 = new BigDecimal(dividend);
- bdCand1 = bdCand1.divide(bdCand2, scale, BigDecimal.ROUND_HALF_UP);
- strValue = bdCand1.toString();
- }else{
- strValue=IBasic.DIVIDEND_IS_ZERO;
- }
- }
- return strValue;
- }
- /**
- * 判断数字字符是否是数字且不等于0
- * @param strNumb
- * @return
- */
- public static boolean isNumberAndNotZero(String strNumb){
- boolean bolResult = false;
- int intResult = 0;
- if(!isNull(strNumb)){
- if(isNumber(strNumb)){
- BigDecimal objBigDecimal = new BigDecimal(strNumb);
- BigDecimal objBigDecimal2 = new BigDecimal(IBasic.NUMBER_ZERO);
- intResult = objBigDecimal.compareTo(objBigDecimal2);
- }
- }
- if(intResult!=0){
- bolResult = true;
- }
- return bolResult;
- }
- /**
- * 判断数字字符是否是数字且等于0
- * @param strNumb
- * @return
- */
- public static boolean isNumberAndZero(String strNumb){
- boolean bolResult = false;
- int intResult = 0;
- if(!isNull(strNumb)){
- if(isNumber(strNumb)){
- BigDecimal objBigDecimal = new BigDecimal(strNumb);
- BigDecimal objBigDecimal2 = new BigDecimal(IBasic.NUMBER_ZERO);
- intResult = objBigDecimal.compareTo(objBigDecimal2);
- }
- }
- if(intResult==0){
- bolResult = true;
- }
- return bolResult;
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/231220138183.html
来源: http://www.codesnippet.cn/detail/231220138183.html