From 6f670fe92bde16eb2b253fd6d819c149bdbc3e38 Mon Sep 17 00:00:00 2001 From: Sangeeth Sudheer Date: Thu, 2 May 2024 21:14:55 +0530 Subject: [PATCH] Add number parsing --- main.go | 6 ++++-- numberparsing/numberparsing.go | 26 ++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 numberparsing/numberparsing.go diff --git a/main.go b/main.go index fcbe545..44ddbc2 100644 --- a/main.go +++ b/main.go @@ -29,7 +29,8 @@ package main // import "git.sangeeth.dev/gobyexample/json" // import "git.sangeeth.dev/gobyexample/xml" // import "git.sangeeth.dev/gobyexample/time" -import "git.sangeeth.dev/gobyexample/rand" +// import "git.sangeeth.dev/gobyexample/rand" +import "git.sangeeth.dev/gobyexample/numberparsing" func main() { // runes.Runes() @@ -61,5 +62,6 @@ func main() { // json.Json() // xml.Xml() // time.Time() - rand.Rand() + // rand.Rand() + numberparsing.NumberParsing() } diff --git a/numberparsing/numberparsing.go b/numberparsing/numberparsing.go new file mode 100644 index 0000000..b541e65 --- /dev/null +++ b/numberparsing/numberparsing.go @@ -0,0 +1,26 @@ +package numberparsing + +import ( + "fmt" + "strconv" +) + +func NumberParsing() { + var expected int32 = (1 << 31) - 1 + parsed, _ := strconv.ParseInt(fmt.Sprint(expected), 10, 32) + if expected != int32(parsed) { + panic(fmt.Sprintf("Expected %d but got %d parsed=%d", expected, int32(parsed), parsed)) + } + + num, _ := strconv.ParseInt("0xff", 0, 64) + fmt.Println("Hex num =>", num) + + num, _ = strconv.ParseInt("0777", 0, 64) + fmt.Println("Octal num =>", num) + + num, _ = strconv.ParseInt("0b11", 0, 64) + fmt.Println("Binary num =>", num) + + fNum, _ := strconv.ParseFloat("3.1415", 64) + fmt.Println("Float num =>", fNum) +}