From 339cc3a12dc995fa01427237fe682cf224afd975 Mon Sep 17 00:00:00 2001 From: tsachi nimni Date: Wed, 1 Jan 2020 13:55:22 +0200 Subject: [PATCH] Add handle for int Issue 314 --- pkg/yqlib/value_parser.go | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/pkg/yqlib/value_parser.go b/pkg/yqlib/value_parser.go index d08da020..74170b59 100644 --- a/pkg/yqlib/value_parser.go +++ b/pkg/yqlib/value_parser.go @@ -1,8 +1,7 @@ package yqlib -import ( - "strconv" -) +import "strconv" +import "strings" type ValueParser interface { ParseValue(argument string) interface{} @@ -17,10 +16,18 @@ func NewValueParser() ValueParser { func (v *valueParser) ParseValue(argument string) interface{} { var value, err interface{} var inQuotes = len(argument) > 0 && argument[0] == '"' + var isDot = strings.Contains(argument, ".") if !inQuotes { - value, err = strconv.ParseFloat(argument, 64) - if err == nil { - return value + if isDot { + value, err = strconv.ParseFloat(argument, 64) + if err == nil { + return value + } + } else { + value, err = strconv.ParseInt(argument, 10, 64) + if err == nil { + return value + } } value, err = strconv.ParseBool(argument) if err == nil {