summaryrefslogtreecommitdiff
path: root/src/pkg/strconv/itoa.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/strconv/itoa.go')
-rw-r--r--src/pkg/strconv/itoa.go49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/pkg/strconv/itoa.go b/src/pkg/strconv/itoa.go
new file mode 100644
index 000000000..7f693ea8c
--- /dev/null
+++ b/src/pkg/strconv/itoa.go
@@ -0,0 +1,49 @@
+// Copyright 2009 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package strconv
+
+// Itob64 returns the string representation of i in the given base.
+func Itob64(i int64, base uint) string {
+ if i == 0 {
+ return "0"
+ }
+
+ u := uint64(i);
+ if i < 0 {
+ u = -u;
+ }
+
+ // Assemble decimal in reverse order.
+ var buf [32]byte;
+ j := len(buf);
+ b := uint64(base);
+ for u > 0 {
+ j--;
+ buf[j] = "0123456789abcdefghijklmnopqrstuvwxyz"[u%b];
+ u /= b;
+ }
+
+ if i < 0 { // add sign
+ j--;
+ buf[j] = '-'
+ }
+
+ return string(buf[j:len(buf)])
+}
+
+// Itoa64 returns the decimal string representation of i.
+func Itoa64(i int64) string {
+ return Itob64(i, 10);
+}
+
+// Itob returns the string representation of i in the given base.
+func Itob(i int, base uint) string {
+ return Itob64(int64(i), base);
+}
+
+// Itoa returns the decimal string representation of i.
+func Itoa(i int) string {
+ return Itob64(int64(i), 10);
+}