Fixed issue #123. Introduced NumberFormat::formatStandardNumber()

This commit is contained in:
Franck Allimant
2013-12-05 18:46:35 +01:00
parent 5dfe8584ae
commit c2292b75d4
2 changed files with 22 additions and 5 deletions

View File

@@ -1201,10 +1201,10 @@ class ProductController extends AbstractCrudController
} }
return new JsonResponse(array( return new JsonResponse(array(
'price_with_tax' => NumberFormat::getInstance($this->getRequest())->format($price_with_tax, null, '.'), 'price_with_tax' => NumberFormat::getInstance($this->getRequest())->formatStandardNumber($price_with_tax),
'price_without_tax' => NumberFormat::getInstance($this->getRequest())->format($price_without_tax, null, '.'), 'price_without_tax' => NumberFormat::getInstance($this->getRequest())->formatStandardNumber($price_without_tax),
'sale_price_with_tax' => NumberFormat::getInstance($this->getRequest())->format($sale_price_with_tax, null, '.'), 'sale_price_with_tax' => NumberFormat::getInstance($this->getRequest())->formatStandardNumber($sale_price_with_tax),
'sale_price_without_tax' => NumberFormat::getInstance($this->getRequest())->format($sale_price_without_tax, null, '.') 'sale_price_without_tax' => NumberFormat::getInstance($this->getRequest())->formatStandardNumber($sale_price_without_tax)
)); ));
} }
@@ -1236,7 +1236,8 @@ class ProductController extends AbstractCrudController
if ($convert != 0) { if ($convert != 0) {
$return_price = $prix * Currency::getDefaultCurrency()->getRate(); $return_price = $prix * Currency::getDefaultCurrency()->getRate();
} }
// Format the number using '.', to perform further calculation // Format the number using '.', to perform further calculation
return NumberFormat::getInstance($this->getRequest())->format($return_price, null, '.'); return NumberFormat::getInstance($this->getRequest())->formatStandardNumber($return_price);
} }
} }

View File

@@ -39,6 +39,22 @@ class NumberFormat
return new NumberFormat($request); return new NumberFormat($request);
} }
/**
* Get a standard number, with '.' as decimal point and no thousands separator
* so that this number can be used to perform calculations.
*
* @param float $number the number
* @param string $decimals number of decimal figures
*/
public function formatStandardNumber($number, $decimals = null) {
$lang = $this->request->getSession()->getLang();
if ($decimals == null) $decimals = $lang->getDecimals();
return number_format($number, $decimals, '.', '');
}
public function format($number, $decimals = null, $decPoint = null, $thousandsSep = null) public function format($number, $decimals = null, $decPoint = null, $thousandsSep = null)
{ {
$lang = $this->request->getSession()->getLang(); $lang = $this->request->getSession()->getLang();