adding Int to Float. Testing for float
diff --git a/cast_test.go b/cast_test.go
index c9f642c..1015877 100644
--- a/cast_test.go
+++ b/cast_test.go
@@ -21,6 +21,14 @@
assert.Equal(t, ToInt(eight), 8)
}
+func TestToFloat64(t *testing.T) {
+ var eight interface{} = 8
+ assert.Equal(t, ToFloat64(8), 8.00)
+ assert.Equal(t, ToFloat64(8.31), 8.31)
+ assert.Equal(t, ToFloat64("8.31"), 8.31)
+ assert.Equal(t, ToFloat64(eight), 8.0)
+}
+
func TestToString(t *testing.T) {
var foo interface{} = "one more time"
assert.Equal(t, ToString(8), "8")
diff --git a/caste.go b/caste.go
index e58d1ae..bcc4fd2 100644
--- a/caste.go
+++ b/caste.go
@@ -59,6 +59,16 @@
return s, true
case float32:
return float64(s), true
+ case int64:
+ return float64(s), true
+ case int32:
+ return float64(s), true
+ case int16:
+ return float64(s), true
+ case int8:
+ return float64(s), true
+ case int:
+ return float64(s), true
case string:
v, err := strconv.ParseFloat(s, 64)
if err == nil {