aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/github.com/tdewolff/parse/strconv/price.go
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <fred@miniflux.net>2018-08-26 16:43:53 -0700
committerGravatar Frédéric Guillot <fred@miniflux.net>2018-08-26 16:43:53 -0700
commita3f3f51c60e91f22cc57ecc23cf828421d46b6b7 (patch)
treee037378ae0ca1f09cfb0eb46e289f28f857c2aed /vendor/github.com/tdewolff/parse/strconv/price.go
parenta9e9c347f4d385b4a297a45be96cddfc3a1c7814 (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.go83
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
-}