forked from an/flokati
34 lines
436 B
Go
34 lines
436 B
Go
|
// vim:ts=4:sts=4:sw=4:noet:tw=72
|
||
|
|
||
|
package util
|
||
|
|
||
|
import (
|
||
|
"bytes"
|
||
|
"strconv"
|
||
|
)
|
||
|
|
||
|
func NumberToString(n int, sep rune) string {
|
||
|
start := 0
|
||
|
var buf bytes.Buffer
|
||
|
|
||
|
s := strconv.Itoa(n)
|
||
|
if n < 0 {
|
||
|
start = 1
|
||
|
buf.WriteByte('-')
|
||
|
}
|
||
|
l := len(s)
|
||
|
ci := 3 - ((l - start) % 3)
|
||
|
if ci == 3 {
|
||
|
ci = 0
|
||
|
}
|
||
|
for i := start; i < l; i++ {
|
||
|
if ci == 3 {
|
||
|
buf.WriteRune(sep)
|
||
|
ci = 0
|
||
|
}
|
||
|
ci++
|
||
|
buf.WriteByte(s[i])
|
||
|
}
|
||
|
return buf.String()
|
||
|
}
|