st_tools 0.3.15 → 0.3.16

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 67eaf920a767607db3dfe8295a59ba9c4195c4b0
4
- data.tar.gz: c3ade73e304da2503d94c096e79b7075f0318460
3
+ metadata.gz: 1bd9fcc708159aef709dba808bcf089ab4139b44
4
+ data.tar.gz: 400ecfbfa1f0fca81f6adce4ddb4f134cdf1fa95
5
5
  SHA512:
6
- metadata.gz: aeba709f894d04efe22c0a545e9c03bfe4288ae9209cdbd878d71e466a963280cb5dc3784564089502e496923293a9597187c1c1eae4adac6727f8cbeb0591ba
7
- data.tar.gz: e65dd5a86d4733729d8731ede634de5f7ad64c7d655243db4f86a4db448748e223798fe9899ea6be3f1ec72f351f704fc2aa7d1bdceb2b7fa1d77addc109b7f0
6
+ metadata.gz: 08d198d7750284ce9e14c36492e568426df50bbafe390f662032b4ec9db7d9e23d0c00da3e7d97edd508e0fdace7458e7b52a52aaf20d58bd7b0842b9876af77
7
+ data.tar.gz: 8f942d5d3aef52cae4df1289b0ce723e5e2609737ee7bde284d7539f0d6dd4d2a25816c2b972d4764d10622788ae3b8462f154e6f6c1e38d8e44b3d76045addd
data/README.md CHANGED
@@ -59,6 +59,17 @@ StTools::Human.number(14653) # => 14,6 тыс.
59
59
  StTools::Human.number(23653763) # => 23,7 млн.
60
60
  ```
61
61
 
62
+ Вы вызываете StTools::Human.pretty_number для красивого отображения числа с пробелами. При этом можно указать
63
+ число цифр после запятой, и автоматически конвертировать точку в звпятую
64
+
65
+ ```ruby
66
+ StTools::Human.pretty_number(345) # => 345
67
+ StTools::Human.pretty_number(345, round: 2) # => 345,00
68
+ StTools::Human.pretty_number(75345, round: 1) # => 75 345,0
69
+ StTools::Human.pretty_number(nil) # => 0
70
+ StTools::Human.pretty_number('1675345.763', round: 1) # => 1 675 345,7
71
+ ```
72
+
62
73
  Вы имеете возможность узнать разницу между текущим временем и временем какого-либо события.
63
74
 
64
75
  ```ruby
@@ -18,7 +18,7 @@ module StTools
18
18
 
19
19
  GEO = {
20
20
  zz: {location: [0.0, 0.0], upper: [0.0, 0.0], lower: [0.0, 0.0]},
21
- ru: {location: [99.505405, 61.698653], upper: [191.128003, 81.886117], lower: [19.484764, 41.18599]},
21
+ ru: {location: [99.505405, 61.698653], upper: [-169.128003, 81.886117], lower: [19.484764, 41.18599]},
22
22
  ua: {location: [0.0, 0.0], upper: [0.0, 0.0], lower: [0.0, 0.0]},
23
23
  kz: {location: [0.0, 0.0], upper: [0.0, 0.0], lower: [0.0, 0.0]},
24
24
  by: {location: [0.0, 0.0], upper: [0.0, 0.0], lower: [0.0, 0.0]},
@@ -133,6 +133,33 @@ module StTools
133
133
  end
134
134
 
135
135
 
136
+ # Метод оформляет число красивым способом, в виде "1 456 742,34".
137
+ #
138
+ # @param [Object] value исходное число в виде строки или числа, допустим nil
139
+ # @param [Sym] round число цифр после запятой (по умолчанию - 0)
140
+ # @return [String] строка с форматированным числом
141
+ # @example Примеры использования
142
+ # StTools::Human.pretty_number(345) # => 345
143
+ # StTools::Human.pretty_number(345, round: 2) # => 345,00
144
+ # StTools::Human.pretty_number(75345, round: 1) # => 75 345,0
145
+ # StTools::Human.pretty_number(nil) # => 0
146
+ # StTools::Human.pretty_number('1675345.763', round: 1) # => 1 675 345,7
147
+ def self.pretty_number(value, round: 0)
148
+ out = StTools::String.to_float(value, round: round, stop: false).to_s
149
+ arr = out.split(/[\,\.]/)
150
+ tmp = arr.first.split(//).reverse.each_slice(3).to_a
151
+ out = Array.new
152
+ tmp.each do |one|
153
+ out << one.reverse.join
154
+ end
155
+ out = out.reverse.join(' ')
156
+ if arr.count > 1
157
+ out = [out, (arr.last + '000000000000000')[0,round]].join(',')
158
+ end
159
+ out
160
+ end
161
+
162
+
136
163
 
137
164
  private
138
165
 
@@ -1,3 +1,3 @@
1
1
  module StTools
2
- VERSION = '0.3.15'
2
+ VERSION = '0.3.16'
3
3
  end
@@ -75,4 +75,25 @@ describe 'Проверка методов StTools::Human.*' do
75
75
  expect(test).to match(/\d{2}\/\d{2}\/\d{4}/)
76
76
  end
77
77
 
78
+ it '.pretty_number(12345678)' do
79
+ test = ::StTools::Human.pretty_number(12345678, round: 2)
80
+ expect(test).to match('12 345 678,00')
81
+ end
82
+
83
+ it '.pretty_number(12345678)' do
84
+ test = ::StTools::Human.pretty_number(12345678, round: 0)
85
+ expect(test).to match('12 345 678')
86
+ end
87
+
88
+ it '.pretty_number(45678.6743)' do
89
+ test = ::StTools::Human.pretty_number('45678.6743', round: 3)
90
+ expect(test).to match('45 678,674')
91
+ end
92
+
93
+ it '.pretty_number(nil)' do
94
+ test = ::StTools::Human.pretty_number(nil, round: 0)
95
+ expect(test).to match('0')
96
+ end
97
+
98
+
78
99
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: st_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.15
4
+ version: 0.3.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stan Zhuravlev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-12-05 00:00:00.000000000 Z
11
+ date: 2015-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler