package attribute func NewFixedNumeric(pData float32) FixedNumeric { fixed := FixedNumeric{} fixed.SetFloat(pData) return fixed } type FixedNumeric struct { baseValue FixedPoint } func (this FixedNumeric) Fixed() FixedPoint { return this.baseValue } func (this FixedNumeric) Value() float32 { return this.baseValue.Scalar() } func (this FixedNumeric) GetValue(pDefault float32) float32 { if this.Value() != 0 { return this.Value() } else { return pDefault } } func (this FixedNumeric) SetFloat(value float32) float32 { this.baseValue = NewFixedPoint(value) return this.baseValue.Scalar() } func (this FixedNumeric) Set(value FixedPoint) float32 { this.baseValue = value return this.baseValue.Scalar() } /// /// 增加基本值 /// func (this FixedNumeric) Add(value float32) float32 { this.baseValue.Add(value) return this.baseValue.Scalar() } /// /// 减少基本值 /// func (this FixedNumeric) Minus(value float32) float32 { this.baseValue.Reduce(value) if this.baseValue.Scalar() < 0 { this.baseValue.SetInt(0) } return this.baseValue.Scalar() }