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<Double> {
|
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 "双精度浮点数";
|
}
|
}
|