pretty_floats 2.0.0 → 2.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pretty_floats.rb +11 -5
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7f32d365b5a3e263692ea64cfc4671722c6e4ca03a944e8a7bd0e7f9ee223c4b
4
- data.tar.gz: ea4dd60168199900edefddd805870793b6ddbf613d9a950531ef45d37348404e
3
+ metadata.gz: b9a43cad371e15ef7084c8436cc400bb0b98e77df684f1b70a482e6401d87ed8
4
+ data.tar.gz: fb68807e279f755e7c4a8e21a3b3b2457f9e11061078a4b6a3ab72dc54b7b05b
5
5
  SHA512:
6
- metadata.gz: 626448b6757eb7a533fa8d4ea86848b8ed28fd1e607d43a8f7dc9097e5bec70537fef232c3bae5afc8f0f1b631d055c8cf908915092f1fa45df3c1b9bc657fb9
7
- data.tar.gz: 9d5ae8fac0c7199c07dff986fa8fb11132eef9b80e5cfea53090a89b2f939198e9bb28e7d8def31f7b12a6a20c3f29bf6431155e875ff191376a92ddd05a2176
6
+ metadata.gz: e98f425a05ed825abdd82ae5759969a47d9e678f0dd2f03b2b42a3b9f4c9ec741a8c2688ed062206145aa8cb69939c05986633265e90df7e918316bc8a85dda7
7
+ data.tar.gz: f64339807747c089160eadd3688dd21716eae688af3b0b539a73a0c3c1cd3c111dbb3b8f9caf3b93ce931f3b6720d583361702a6f8ac7177399bb27c1f7b0794
data/lib/pretty_floats.rb CHANGED
@@ -1,7 +1,14 @@
1
1
  class Float
2
2
  # changes numbers like 1234567 to "1,234,567"
3
+ # or:
4
+ #
5
+ # > -13321.23.prettify(num_places: 2)
6
+ # => "-13,321.77"
3
7
  def prettify(place_sep: ',', radix_sep: '.', num_places: -1)
8
+ sign = self < 0 ? '-' : ''
9
+
4
10
  int = self
11
+ .abs
5
12
  .to_i
6
13
  .to_s
7
14
  .chars
@@ -11,13 +18,12 @@ class Float
11
18
  .join(place_sep)
12
19
  .reverse
13
20
 
14
- max_digits = num_places == -1 ? self.to_s.split('.').last.length : num_places
15
- float = (self % 1)
16
- .round(max_digits)
17
- .to_s
21
+ max_precision = num_places == -1 ? self.to_s.split('.').last.length : num_places
22
+ float = self % 1
23
+ float = ("%.#{max_precision}f" % float)
18
24
  .split('.')
19
25
  .last
20
26
 
21
- int + radix_sep + float
27
+ sign + int + radix_sep + float
22
28
  end
23
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pretty_floats
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Lunt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-16 00:00:00.000000000 Z
11
+ date: 2023-09-17 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: a small utility to format floating point numbers for easier reading
14
14
  email: jefflunt@gmail.com