Parse floats to user formatted versions in exports

This commit is contained in:
David Bomba 2024-10-05 15:18:08 +10:00
parent c67c73ca01
commit 8192a48816
1 changed files with 18 additions and 2 deletions

View File

@ -347,14 +347,30 @@ class BaseTransformer
*/ */
public function getFloat($data, $field) public function getFloat($data, $field)
{ {
if (array_key_exists($field, $data)) { if (array_key_exists($field, $data)) {\
return Number::parseFloat($data[$field]); return $this->parseStringToFloat($data, $field);
// return Number::parseFloat($data[$field]);
} }
return 0; return 0;
} }
private function parseStringToFloat($data, $field): float
{
$currency = $this->company->currency();
$amount = preg_replace('/[^\d,.-]/', '', $data[$field]);
$amount = str_replace($currency->thousand_separator, '', $amount);
$amount = $currency->decimal_separator !== '.' ? str_replace($currency->decimal_separator, '.', $amount) : $amount;
return (float) $amount;
}
/** /**
* @param $data * @param $data
* @param $field * @param $field