From b2d097fdac465f0a5180383507e1163b14942e21 Mon Sep 17 00:00:00 2001 From: Gabriel Rausch Date: Wed, 11 Oct 2023 23:23:58 -0300 Subject: [PATCH 1/5] Fix if the decimal is only 0 For example: 15 works fine, but 15.0 gives me an error --- src/Miscellaneous/Utilities.php | 2 +- src/SpellNumber.php | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Miscellaneous/Utilities.php b/src/Miscellaneous/Utilities.php index a5766dc..419fe35 100644 --- a/src/Miscellaneous/Utilities.php +++ b/src/Miscellaneous/Utilities.php @@ -87,7 +87,7 @@ public static function isNotExceedMax($value) if (self::isValidString($value) || self::isValidDouble($value)) { $parts = explode('.', $value); $integerPart = intval($parts[0]); - $decimalPart = intval($parts[1]); + $decimalPart = intval($parts[1] ?? 0); $validateInteger = is_numeric($integerPart) && filter_var($integerPart, FILTER_VALIDATE_INT) !== false; $validateDecimal = is_numeric($decimalPart) && filter_var($decimalPart, FILTER_VALIDATE_INT) !== false; diff --git a/src/SpellNumber.php b/src/SpellNumber.php index 3c133f5..43191e1 100644 --- a/src/SpellNumber.php +++ b/src/SpellNumber.php @@ -181,6 +181,11 @@ private function integerToMoney() private function doubleToMoney() { $parts = explode('.', $this->value); + + if(! array_key_exists(1, $parts)){ + return $this->integerToMoney(); + } + $letters1 = NumberFormatterWrapper::format($parts[0], $this->locale); $letters1 = Replaces::locale($letters1, $this->locale, $this->currency); From da5d9b463da6cd66e1d92d1986e76afe4673d173 Mon Sep 17 00:00:00 2001 From: Gabriel Rausch Date: Wed, 11 Oct 2023 23:34:51 -0300 Subject: [PATCH 2/5] fix letters too --- src/SpellNumber.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/SpellNumber.php b/src/SpellNumber.php index 43191e1..32f87f3 100644 --- a/src/SpellNumber.php +++ b/src/SpellNumber.php @@ -154,6 +154,11 @@ private function integerToLetters() private function doubleToLetters() { $parts = explode('.', $this->value); + + if(! array_key_exists(1, $parts)){ + return $this->integerToLetters(); + } + $letters1 = NumberFormatterWrapper::format($parts[0], $this->locale); $letters2 = NumberFormatterWrapper::format($parts[1], $this->locale); From ffa661479933f6682ed84c21c60756133d0d362d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Mauricio=20U=C3=B1ate=20Castro?= <91748598+rmunate@users.noreply.github.com> Date: Thu, 12 Oct 2023 20:52:48 -0500 Subject: [PATCH 3/5] Update SpellNumber.php --- src/SpellNumber.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SpellNumber.php b/src/SpellNumber.php index 32f87f3..a7f5c1e 100644 --- a/src/SpellNumber.php +++ b/src/SpellNumber.php @@ -155,7 +155,7 @@ private function doubleToLetters() { $parts = explode('.', $this->value); - if(! array_key_exists(1, $parts)){ + if(! array_key_exists(1, $parts)) { return $this->integerToLetters(); } @@ -187,7 +187,7 @@ private function doubleToMoney() { $parts = explode('.', $this->value); - if(! array_key_exists(1, $parts)){ + if(! array_key_exists(1, $parts)) { return $this->integerToMoney(); } From 8db50e995de32cd93b1dc64f910a8fa0357fbc47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Mauricio=20U=C3=B1ate=20Castro?= <91748598+rmunate@users.noreply.github.com> Date: Thu, 12 Oct 2023 20:53:35 -0500 Subject: [PATCH 4/5] Update SpellNumber.php --- src/SpellNumber.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SpellNumber.php b/src/SpellNumber.php index a7f5c1e..a5c26a4 100644 --- a/src/SpellNumber.php +++ b/src/SpellNumber.php @@ -155,7 +155,7 @@ private function doubleToLetters() { $parts = explode('.', $this->value); - if(! array_key_exists(1, $parts)) { + if(!array_key_exists(1, $parts)) { return $this->integerToLetters(); } @@ -187,7 +187,7 @@ private function doubleToMoney() { $parts = explode('.', $this->value); - if(! array_key_exists(1, $parts)) { + if(!array_key_exists(1, $parts)) { return $this->integerToMoney(); } From 418991d6d2edfc8349b7839b6f67a371ec254934 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Mauricio=20U=C3=B1ate=20Castro?= <91748598+rmunate@users.noreply.github.com> Date: Thu, 12 Oct 2023 20:54:30 -0500 Subject: [PATCH 5/5] Update SpellNumber.php --- src/SpellNumber.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SpellNumber.php b/src/SpellNumber.php index a5c26a4..a2a2162 100644 --- a/src/SpellNumber.php +++ b/src/SpellNumber.php @@ -155,7 +155,7 @@ private function doubleToLetters() { $parts = explode('.', $this->value); - if(!array_key_exists(1, $parts)) { + if (!array_key_exists(1, $parts)) { return $this->integerToLetters(); } @@ -187,7 +187,7 @@ private function doubleToMoney() { $parts = explode('.', $this->value); - if(!array_key_exists(1, $parts)) { + if (!array_key_exists(1, $parts)) { return $this->integerToMoney(); }