// Convert to Integer: Best attempt at converting to integer // // toint("5") => 5 // toint("5.75") => 5 // toint("5,555") => 5555 // toint("$5") => 5 // toint("5,555.00") => 5555 // func ToInt(ctx expr.EvalContext, item value.Value) (value.IntValue, bool) { iv, ok := value.ToInt64(reflect.ValueOf(item.Value())) if !ok { return value.NewIntValue(0), false } return value.NewIntValue(iv), true }
// Convert to Integer: Best attempt at converting to integer // // toint("5") => 5, true // toint("5.75") => 5, true // toint("5,555") => 5555, true // toint("$5") => 5, true // toint("5,555.00") => 5555, true // func ToInt(ctx expr.EvalContext, item value.Value) (value.IntValue, bool) { switch itemT := item.(type) { case value.TimeValue: iv := itemT.Val().UnixNano() / 1e6 // Milliseconds return value.NewIntValue(iv), true } iv, ok := value.ToInt64(reflect.ValueOf(item.Value())) if !ok { return value.NewIntValue(0), false } return value.NewIntValue(iv), true }
func ToInt(ctx expr.EvalContext, item value.Value) (value.IntValue, bool) { iv, _ := value.ToInt64(reflect.ValueOf(item.Value())) return value.NewIntValue(iv), true //return IntValue(2) }
func ToInt(e *State, item value.Value) (value.IntValue, bool) { iv, _ := value.ToInt64(reflect.ValueOf(item.Value())) return value.NewIntValue(iv), true //return IntValue(2) }