mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 12:18:42 +08:00 
			
		
		
		
	Excel注解支持设置BigDecimal精度&舍入规则
This commit is contained in:
		@@ -8,6 +8,7 @@ import java.io.OutputStream;
 | 
			
		||||
import java.lang.reflect.Field;
 | 
			
		||||
import java.lang.reflect.Method;
 | 
			
		||||
import java.math.BigDecimal;
 | 
			
		||||
import java.text.DecimalFormat;
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.Arrays;
 | 
			
		||||
import java.util.Comparator;
 | 
			
		||||
@@ -546,10 +547,14 @@ public class ExcelUtil<T>
 | 
			
		||||
                {
 | 
			
		||||
                    cell.setCellValue(convertByExp(Convert.toStr(value), readConverterExp, separator));
 | 
			
		||||
                }
 | 
			
		||||
                else if (StringUtils.isNotEmpty(dictType))
 | 
			
		||||
                else if (StringUtils.isNotEmpty(dictType) && StringUtils.isNotNull(value))
 | 
			
		||||
                {
 | 
			
		||||
                    cell.setCellValue(convertDictByExp(Convert.toStr(value), dictType, separator));
 | 
			
		||||
                }
 | 
			
		||||
                else if (value instanceof BigDecimal && -1 != attr.scale())
 | 
			
		||||
                {
 | 
			
		||||
                    cell.setCellValue((((BigDecimal) value).setScale(attr.scale(), attr.roundingMode())).toString());
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    // 设置列类型
 | 
			
		||||
@@ -896,7 +901,14 @@ public class ExcelUtil<T>
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        val = new BigDecimal(val.toString()); // 浮点格式处理
 | 
			
		||||
                        if ((Double) val % 1 > 0)
 | 
			
		||||
                        {
 | 
			
		||||
                            val = new BigDecimal(val.toString());
 | 
			
		||||
                        }
 | 
			
		||||
                        else
 | 
			
		||||
                        {
 | 
			
		||||
                            val = new DecimalFormat("0").format(val);
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                else if (cell.getCellTypeEnum() == CellType.STRING)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user