package com.qianwen.core.tool.metadata.types; import java.math.BigDecimal; /* loaded from: blade-core-tool-9.3.0.0-SNAPSHOT.jar:org/springblade/core/tool/metadata/types/DoubleType.class */ public class DoubleType extends NumberType { public static final String ID = "double"; private Integer scale; public static final DoubleType GLOBAL = new DoubleType(); public void setScale(final Integer scale) { this.scale = scale; } public Integer getScale() { return this.scale; } @Override // org.springblade.core.tool.metadata.types.NumberType, org.springblade.core.tool.metadata.FormatSupport public Object format(Object value) { Number val = convertNumber(value); if (val == null) { return super.format(value); } int scale = this.scale == null ? 2 : this.scale.intValue(); String scaled = new BigDecimal(val.toString()).setScale(scale, 4).toString(); return super.format(scaled); } public DoubleType scale(Integer scale) { this.scale = scale; return this; } @Override // org.springblade.core.tool.metadata.types.NumberType, org.springblade.core.tool.metadata.Converter public Double convert(Object value) { return (Double) super.convertNumber(value, (v0) -> { return v0.doubleValue(); }); } @Override // org.springblade.core.tool.metadata.Metadata public String getId() { return ID; } @Override // org.springblade.core.tool.metadata.Metadata public String getName() { return "双精度浮点数"; } }