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/FloatType.class */
|
public class FloatType extends NumberType<Float> {
|
public static final String ID = "float";
|
private Integer scale;
|
public static final FloatType GLOBAL = new FloatType();
|
|
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 FloatType scale(Integer scale) {
|
this.scale = scale;
|
return this;
|
}
|
|
@Override // org.springblade.core.tool.metadata.types.NumberType, org.springblade.core.tool.metadata.Converter
|
public Float convert(Object value) {
|
return (Float) super.convertNumber(value, (v0) -> {
|
return v0.floatValue();
|
});
|
}
|
|
@Override // org.springblade.core.tool.metadata.Metadata
|
public String getId() {
|
return ID;
|
}
|
|
@Override // org.springblade.core.tool.metadata.Metadata
|
public String getName() {
|
return "单精度浮点数";
|
}
|
}
|