All Downloads are FREE. Search and download functionalities are using the official Maven repository.

tech.simter.jxls.ext.CommonFunctions Maven / Gradle / Ivy

package tech.simter.jxls.ext;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAccessor;
import java.util.Arrays;
import java.util.stream.Collectors;

/**
 * The common functions for jxls.
 * 

* 1) format date-time.
* 2) format number.
* 3) concat string.
* 4) string to int.
* * @author RJ */ public final class CommonFunctions { private static CommonFunctions singleton = new CommonFunctions(); public static CommonFunctions getSingleton() { return singleton; } private CommonFunctions() { } /** * java.time 的格式化。 * * @param temporal 值 * @param pattern 格式 * @return 格式化后的值 */ public String format(TemporalAccessor temporal, String pattern) { return temporal == null ? null : DateTimeFormatter.ofPattern(pattern).format(temporal); } /** * 数字的格式化。 * * @param number 值 * @param pattern 格式 * @return 格式化后的值 */ public String format(Number number, String pattern) { return number == null ? null : new DecimalFormat(pattern).format(number); } /** * 数字的四舍五入。 * * @param number 值 * @param scale 小数位数 * @return 四舍五入后的值 */ public Number round(Number number, int scale) { return number == null ? null : (number instanceof BigDecimal ? ((BigDecimal) number).setScale(scale, BigDecimal.ROUND_HALF_UP) : new BigDecimal(number.toString()).setScale(scale, BigDecimal.ROUND_HALF_UP)); } /** * 合并字符串 * * @param items 合并项 * @return 合并后的字符串 */ public String concat(Object... items) { if (items == null || items.length == 0) return null; return Arrays.stream(items).map(i -> i == null ? "" : i.toString()).collect(Collectors.joining()); } /** * 转换为整数 * * @param str 字符值 * @return 整数 */ public Integer toInt(String str) { return str == null ? null : new Integer(str); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy