public static function Input::parseAmountDecimalSeparator in Currency 7.2
Parses an amount's decimal separator.
Parameters
string $amount: Any optionally localized numeric value.
Return value
string The amount with its decimal separator replaced by a period.
Throws
AmountInvalidDecimalSeparatorException
1 call to Input::parseAmountDecimalSeparator()
- Input::parseAmount in currency/
vendor/ bartfeenstra/ currency/ src/ BartFeenstra/ Currency/ Input.php - Parses an amount.
File
- currency/
vendor/ bartfeenstra/ currency/ src/ BartFeenstra/ Currency/ Input.php, line 59 - Contains class \BartFeenstra\Currency\Input.
Class
- Input
- Helpers for parsing user input.
Namespace
BartFeenstra\CurrencyCode
public static function parseAmountDecimalSeparator($amount) {
$decimal_separator_counts = array();
foreach (self::$decimalSeparators as $decimal_separator) {
$decimal_separator_counts[$decimal_separator] = \mb_substr_count($amount, $decimal_separator);
}
$decimal_separator_counts_filtered = array_filter($decimal_separator_counts);
if (count($decimal_separator_counts_filtered) > 1 || reset($decimal_separator_counts_filtered) !== FALSE && reset($decimal_separator_counts_filtered) != 1) {
throw new AmountInvalidDecimalSeparatorException(strtr('The amount can only have no or one decimal separator and it must be one of "decimalSeparators".', array(
'decimalSeparators' => implode(self::$decimalSeparators),
)));
}
$amount = str_replace(self::$decimalSeparators, '.', $amount);
return $amount;
}