summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2023-07-22 19:01:44 -0600
committerLuke Shumaker <lukeshu@lukeshu.com>2023-07-22 19:02:37 -0600
commit77628ce11ce3693d8ac06f1a404a1005ba05f190 (patch)
tree92389b892320462c23063dfe09af0a922a5194e9
parent56bdf78e6ead815d0ca7da5a42773a3083d7bdca (diff)
textui.Portion: Always round percents down
-rw-r--r--.golangci.yml1
-rw-r--r--lib/textui/text.go6
2 files changed, 4 insertions, 3 deletions
diff --git a/.golangci.yml b/.golangci.yml
index 1260169..b2e7ae9 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -68,6 +68,7 @@ linters-settings:
gomnd:
ignored-numbers:
- '2'
+ - '100'
ignored-functions:
- 'binutil.NeedNBytes'
- 'textui.Tunable'
diff --git a/lib/textui/text.go b/lib/textui/text.go
index 538bac2..aba946b 100644
--- a/lib/textui/text.go
+++ b/lib/textui/text.go
@@ -78,11 +78,11 @@ var _ fmt.Stringer = Portion[int]{}
// String implements fmt.Stringer.
func (p Portion[T]) String() string {
- pct := float64(1)
+ pct := uint64(100)
if p.D > 0 {
- pct = float64(p.N) / float64(p.D)
+ pct = (uint64(p.N) * 100) / uint64(p.D)
}
- return printer.Sprintf("%v (%v/%v)", number.Percent(pct), uint64(p.N), uint64(p.D))
+ return printer.Sprintf("%d%% (%v/%v)", pct, uint64(p.N), uint64(p.D))
}
type metric[T constraints.Integer | constraints.Float] struct {