增加公共方法
This commit is contained in:
@@ -24,6 +24,7 @@
|
||||
<bcprov-jdk15on.version>1.68</bcprov-jdk15on.version>
|
||||
<jackson.version>2.13.4.1</jackson.version>
|
||||
<jackson.jsr310.version>2.17.0</jackson.jsr310.version>
|
||||
<jsr-version>3.0.2</jsr-version>
|
||||
<slf4j.version>1.7.32</slf4j.version>
|
||||
<logback.version>1.2.12</logback.version>
|
||||
<easypoi.version>4.4.0</easypoi.version>
|
||||
@@ -97,6 +98,13 @@
|
||||
<version>${jackson.jsr310.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.google.code.findbugs</groupId>
|
||||
<artifactId>jsr305</artifactId>
|
||||
<version>${jsr-version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!--springboot相关-->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.njcn.common.utils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @author hongawen
|
||||
* @version 1.0
|
||||
* @data 2025/3/28 11:23
|
||||
*/
|
||||
public class PubUtils {
|
||||
|
||||
/**
|
||||
* 根据参数返回double的四舍五入值
|
||||
*
|
||||
* @param i 保留的位数
|
||||
* @param value double原值
|
||||
*/
|
||||
public static double doubleRound(int i, double value) {
|
||||
BigDecimal bp = new BigDecimal(value);
|
||||
return bp.setScale(i, RoundingMode.HALF_UP).doubleValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据参数返回double的四舍五入值
|
||||
*
|
||||
* @param i 保留的位数
|
||||
* @param value double原值
|
||||
*/
|
||||
public static String doubleRoundStr(int i, double value) {
|
||||
BigDecimal bp = new BigDecimal(value);
|
||||
return bp.setScale(i, RoundingMode.HALF_UP).toPlainString();
|
||||
}
|
||||
|
||||
public static void sortByDoubleValue(List<Map<String, String>> list, String sortKey) {
|
||||
if (list == null || list.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
list.sort((map1, map2) -> {
|
||||
Double value1 = parseDoubleSafely(map1.get(sortKey));
|
||||
Double value2 = parseDoubleSafely(map2.get(sortKey));
|
||||
return Double.compare(value1, value2);
|
||||
});
|
||||
}
|
||||
|
||||
private static double parseDoubleSafely(String value) {
|
||||
return Optional.ofNullable(value)
|
||||
.map(v -> {
|
||||
try {
|
||||
return Double.parseDouble(v);
|
||||
} catch (NumberFormatException e) {
|
||||
// 无效值排在最前
|
||||
return Double.MIN_VALUE;
|
||||
}
|
||||
})
|
||||
// null值排在最前
|
||||
.orElse(Double.MIN_VALUE);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user