|
@@ -1324,24 +1324,24 @@ public class StringUtils {
|
|
return max;
|
|
return max;
|
|
}
|
|
}
|
|
|
|
|
|
-/* public static void main(String[] args) {
|
|
|
|
- System.out.println(getScaleZero(152000,"±10.0"));
|
|
|
|
|
|
+ public static void main(String[] args) {
|
|
|
|
+ /* System.out.println(getScaleZero(152000,"±10.0"));
|
|
System.out.println(getScaleZero(152000,"-10.0,10"));
|
|
System.out.println(getScaleZero(152000,"-10.0,10"));
|
|
System.out.println(getScaleZero(152000,"-10.0,10.0"));
|
|
System.out.println(getScaleZero(152000,"-10.0,10.0"));
|
|
System.out.println(getScaleZero(Double.MAX_VALUE,"-10.0,10"));
|
|
System.out.println(getScaleZero(Double.MAX_VALUE,"-10.0,10"));
|
|
- System.out.println(getScaleZero(152000,"-10,10"));
|
|
|
|
- }*/
|
|
|
|
|
|
+ System.out.println(getScaleZero(152000,"-10,10"));*/
|
|
|
|
+ System.out.println(getScale(152000,"1240.32563"));
|
|
|
|
+ }
|
|
|
|
|
|
public static List<Object> scaleParam(Object ... number){
|
|
public static List<Object> scaleParam(Object ... number){
|
|
return Arrays.stream(number).filter(StringUtils::isNotEmpty).flatMap(e-> CustomFunction.obj2ListNe(e).stream()).distinct().map(s->s.toString().replaceAll("±","")).filter(StringUtils::isNumber).map(e->{
|
|
return Arrays.stream(number).filter(StringUtils::isNotEmpty).flatMap(e-> CustomFunction.obj2ListNe(e).stream()).distinct().map(s->s.toString().replaceAll("±","")).filter(StringUtils::isNumber).map(e->{
|
|
/*0.3999999999999986 检测到超长小数位先转double处理,再还原回String*/
|
|
/*0.3999999999999986 检测到超长小数位先转double处理,再还原回String*/
|
|
- String tg=e.toString();
|
|
|
|
- int dot=tg.indexOf(StringPool.DOT);
|
|
|
|
- boolean unlimited=dot>0&&(tg.length()-dot>6);
|
|
|
|
- if(unlimited||tg.contains("e")){
|
|
|
|
- return BigDecimal.valueOf(Double.parseDouble(tg)).setScale(2, RoundingMode.HALF_UP).toString();
|
|
|
|
|
|
+ int dot= e.indexOf(StringPool.DOT);
|
|
|
|
+ boolean unlimited=dot>0&&(e.length()-dot>6);
|
|
|
|
+ if(unlimited|| e.contains("e")){
|
|
|
|
+ return BigDecimal.valueOf(Double.parseDouble(e)).setScale(2, RoundingMode.HALF_UP).toString();
|
|
}else {
|
|
}else {
|
|
- return e.toString();
|
|
|
|
|
|
+ return e;
|
|
}
|
|
}
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
}
|
|
}
|
|
@@ -1357,7 +1357,8 @@ public class StringUtils {
|
|
Matcher m = RegexUtils.matcher(SCALE_REG[zero], s);
|
|
Matcher m = RegexUtils.matcher(SCALE_REG[zero], s);
|
|
if (m.find()) {
|
|
if (m.find()) {
|
|
int cp = new StringBuilder(m.group()).reverse().toString().indexOf(".");
|
|
int cp = new StringBuilder(m.group()).reverse().toString().indexOf(".");
|
|
- if (cp < 5) {
|
|
|
|
|
|
+ /*单位是万元的时候,可能存在五位小数*/
|
|
|
|
+ if (cp <= 5) {
|
|
max = Math.max(cp, max);
|
|
max = Math.max(cp, max);
|
|
}
|
|
}
|
|
}
|
|
}
|