diff options
author | 2018-08-26 16:43:53 -0700 | |
---|---|---|
committer | 2018-08-26 16:43:53 -0700 | |
commit | a3f3f51c60e91f22cc57ecc23cf828421d46b6b7 (patch) | |
tree | e037378ae0ca1f09cfb0eb46e289f28f857c2aed /vendor/github.com/tdewolff/parse/strconv/price.go | |
parent | a9e9c347f4d385b4a297a45be96cddfc3a1c7814 (diff) |
Migrate to go modules (Go 1.11)
Diffstat (limited to 'vendor/github.com/tdewolff/parse/strconv/price.go')
-rw-r--r-- | vendor/github.com/tdewolff/parse/strconv/price.go | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/vendor/github.com/tdewolff/parse/strconv/price.go b/vendor/github.com/tdewolff/parse/strconv/price.go deleted file mode 100644 index 94b3834..0000000 --- a/vendor/github.com/tdewolff/parse/strconv/price.go +++ /dev/null @@ -1,83 +0,0 @@ -package strconv - -// AppendPrice will append an int64 formatted as a price, where the int64 is the price in cents. -// It does not display whether a price is negative or not. -func AppendPrice(b []byte, price int64, dec bool, milSeparator byte, decSeparator byte) []byte { - if price < 0 { - if price == -9223372036854775808 { - x := []byte("92 233 720 368 547 758 08") - x[2] = milSeparator - x[6] = milSeparator - x[10] = milSeparator - x[14] = milSeparator - x[18] = milSeparator - x[22] = decSeparator - return append(b, x...) - } - price = -price - } - - // rounding - if !dec { - firstDec := (price / 10) % 10 - if firstDec >= 5 { - price += 100 - } - } - - // calculate size - n := LenInt(price) - 2 - if n > 0 { - n += (n - 1) / 3 // mil separator - } else { - n = 1 - } - if dec { - n += 2 + 1 // decimals + dec separator - } - - // resize byte slice - i := len(b) - if i+n > cap(b) { - b = append(b, make([]byte, n)...) - } else { - b = b[:i+n] - } - - // print fractional-part - i += n - 1 - if dec { - for j := 0; j < 2; j++ { - c := byte(price%10) + '0' - price /= 10 - b[i] = c - i-- - } - b[i] = decSeparator - i-- - } else { - price /= 100 - } - - if price == 0 { - b[i] = '0' - return b - } - - // print integer-part - j := 0 - for price > 0 { - if j == 3 { - b[i] = milSeparator - i-- - j = 0 - } - - c := byte(price%10) + '0' - price /= 10 - b[i] = c - i-- - j++ - } - return b -} |