NumberUtils.java
3.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
/**
* Copyright 2015-2025 FLY的狐狸(email:jflyfox@sina.com qq:369191470).
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package com.jflyfox.util;
import java.math.BigDecimal;
/**
* 数字处理
*
* @author flyfox 2012.08.08
* @email 330627517@qq.com
*/
public class NumberUtils {
private NumberUtils() {
}
/**
* 如果是null返回0
*
* @param obj
* @return
*/
public static int parseInt(Object obj) {
int value = 0;
if (obj != null) {
try {
value = Integer.parseInt(obj.toString());
} catch (Exception e) {
value = 0;
}
}
return value;
}
/**
* 如果是null返回BigDecimal.ZERO
*
* @param obj
* @return
*/
public static BigDecimal parseBigDecimal(Object obj) {
BigDecimal value = BigDecimal.ZERO;
if (obj != null) {
try {
value = new BigDecimal(obj.toString());
} catch (Exception e) {
value = BigDecimal.ZERO;
}
}
return value;
}
/**
* 将传入的字符串转成int型数据 . 遇到任何错误返回0
* @param str 待解析的字符串
* @return 解析结果
*/
public static int parseInt(String str){
return parseInt(str ,0);
}
/**
* 将传入的字符串转成int型数据 . 遇到任何错误返回replaceWith
* @param str 待解析的字符串
* @param defaultValue 遇到错误时的替换数字 .
* @return 解析结果
*/
public static int parseInt(String str ,int defaultValue){
try{
defaultValue = Integer.parseInt(str);
} catch(Exception e){}
return defaultValue ;
}
/**
* 将传入的字符串转成double型数据 . 遇到任何错误返回0
* @param str 待解析的字符串
* @return 解析结果
*/
public static double parseDbl(String str){
return parseDbl(str ,0);
}
/**
* 将传入的字符串转成double型数据 . 遇到任何错误返回replaceWith
* @param str 待解析的字符串
* @param defaultValue 遇到错误时的替换数字 .
* @return 解析结果
*/
public static double parseDbl(String str ,double defaultValue){
try{
defaultValue = Double.parseDouble(str);
} catch(Exception e){}
return defaultValue ;
}
public static float parseFloat(String str) {
return parseFloat(str, 0);
}
public static float parseFloat(String str ,float b) {
try{
return Float.parseFloat(str);
}catch(Exception e){
return b;
}
}
/**
* 遇到错误返回0L
* @author 王平
* @since 2009.04.30
* @param str
* @return
*/
public static long parseLong(String str) {
return parseLong(str, 0l);
}
/**
* 遇到错误返回defaultValue
* @author 王平
* @since 2009.04.30
* @param str
* @return
*/
public static long parseLong(String str ,long defaultValue){
try{
defaultValue = Long.parseLong(str);
} catch(Exception e){}
return defaultValue ;
}
}