summaryrefslogtreecommitdiffstats
path: root/lib/roo/excelx/cell/number.rb
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2023-02-08 00:39:56 -0500
committerLibravatarUnit 193 <unit193@unit193.net>2023-02-08 00:39:56 -0500
commitae103e148eb3c15606b816505492d870ef062ad3 (patch)
treeb7916225d76ac8d1db28feff7aa46a4ee672b3dc /lib/roo/excelx/cell/number.rb
parentf5fb17e5a64b215644bc104f099dad8c2f10c37d (diff)
New upstream version 2.10.0.upstream/2.10.0
Diffstat (limited to 'lib/roo/excelx/cell/number.rb')
-rw-r--r--lib/roo/excelx/cell/number.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/roo/excelx/cell/number.rb b/lib/roo/excelx/cell/number.rb
index 7ea48b5..5cd9b55 100644
--- a/lib/roo/excelx/cell/number.rb
+++ b/lib/roo/excelx/cell/number.rb
@@ -66,6 +66,16 @@ module Roo
when '##0.0E+0' then '%.1E'
when "_-* #,##0.00\\ _€_-;\\-* #,##0.00\\ _€_-;_-* \"-\"??\\ _€_-;_-@_-" then number_format('%.2f', '-%.2f')
when '@' then proc { |number| number }
+ when /^(?:_\()?"([^"]*)"(?:\* )?([^_]+)/
+ proc do |number|
+ formatted_number = generate_formatter($2).call(number)
+ "#{$1}#{formatted_number}"
+ end
+ when /^_[- \(]\[\$([^-]*)[^#@]+([^_]+)/
+ proc do |number|
+ formatted_number = generate_formatter($2).call(number)
+ "#{$1}#{formatted_number}"
+ end
else
raise "Unknown format: #{format.inspect}"
end