本文实例为大家分享了java指定精确小数位的具体代码,供大家参考,具体内容如下
java代码:
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
|
public class App2 {
public static void main(String[] args) {
String val = checkNumber( "10.1234155" , 2 , 6 ).toString();
System.out.println(val);
}
public static BigDecimal checkNumber(String number, int min, int max) {
// 初始化为max位小数
DecimalFormat df = new DecimalFormat(getMaxStr(max));
String num = df.format(Double.parseDouble(number));
BigDecimal bd = new BigDecimal(num);
String val = bd.toString();
val = val.replaceAll( "^(0+)" , "" );
val = val.replaceAll( "(0+)$" , "" );
int idx = val.indexOf( "." );
int len = val.substring(idx + 1 ).length();
if (len < min) {
if (len == 0 && idx == 0 ) {
bd = new BigDecimal( "0.00" );
} else {
bd = new BigDecimal(val).setScale( 2 );
}
} else {
bd = new BigDecimal(val).setScale(len);
}
return bd;
}
public static String getMaxStr( int max) {
String val = "0." ;
for ( int i = 0 ; i < max; i++) {
val += "0" ;
}
return val;
}
}
|
控制台:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。