/** * Helper for initiating a new NumberFormat object. */ protected function createNumberFormat(array $definition, $locale = 'en') { $default = ['decimal_separator' => '.', 'grouping_separator' => ',', 'plus_sign' => '+', 'minus_sign' => '-', 'percent_sign' => '%']; $format = array_merge($default, $definition); $numberFormat = new NumberFormat(); $numberFormat->setLocale($locale); $numberFormat->setNumberingSystem($format['numbering_system']); $numberFormat->setDecimalSeparator($format['decimal_separator']); $numberFormat->setGroupingSeparator($format['grouping_separator']); $numberFormat->setPlusSign($format['plus_sign']); $numberFormat->setMinusSign($format['minus_sign']); $numberFormat->setPercentSign($format['percent_sign']); $numberFormat->setDecimalPattern($format['decimal_pattern']); $numberFormat->setPercentPattern($format['percent_pattern']); $numberFormat->setCurrencyPattern($format['currency_pattern']); $numberFormat->setAccountingCurrencyPattern($format['accounting_currency_pattern']); return $numberFormat; }
/** * Creates a number format object from the provided definition. * * @param array $definition The number format definition. * @param string $locale The locale of the number format definition. * * @return NumberFormat */ protected function createNumberFormatFromDefinition(array $definition, $locale) { if (!isset($definition['decimal_separator'])) { $definition['decimal_separator'] = '.'; } if (!isset($definition['grouping_separator'])) { $definition['grouping_separator'] = ','; } if (!isset($definition['plus_sign'])) { $definition['plus_sign'] = '+'; } if (!isset($definition['minus_sign'])) { $definition['minus_sign'] = '-'; } if (!isset($definition['percent_sign'])) { $definition['percent_sign'] = '%'; } $numberFormat = new NumberFormat(); $numberFormat->setLocale($locale); $numberFormat->setNumberingSystem($definition['numbering_system']); $numberFormat->setDecimalSeparator($definition['decimal_separator']); $numberFormat->setGroupingSeparator($definition['grouping_separator']); $numberFormat->setPlusSign($definition['plus_sign']); $numberFormat->setMinusSign($definition['minus_sign']); $numberFormat->setPercentSign($definition['percent_sign']); $numberFormat->setDecimalPattern($definition['decimal_pattern']); $numberFormat->setPercentPattern($definition['percent_pattern']); $numberFormat->setCurrencyPattern($definition['currency_pattern']); $numberFormat->setAccountingCurrencyPattern($definition['accounting_currency_pattern']); return $numberFormat; }
/** * @covers ::getAccountingCurrencyPattern * @covers ::setAccountingCurrencyPattern */ public function testAccountingCurrencyPattern() { $this->numberFormat->setAccountingCurrencyPattern('¤#,##0.00;(¤#,##0.00)'); $this->assertEquals('¤#,##0.00;(¤#,##0.00)', $this->numberFormat->getAccountingCurrencyPattern()); }