Add isNegative() to the Type\NumberInterface

This commit is contained in:
Ben Ramsey
2020-03-06 16:59:04 -06:00
parent b31703e7c9
commit 8a8d5d4ba8
7 changed files with 103 additions and 27 deletions
+14
View File
@@ -37,6 +37,11 @@ final class Decimal implements NumberInterface
*/
private $value;
/**
* @var bool
*/
private $isNegative = false;
/**
* @param mixed $value The decimal value to store
*/
@@ -61,9 +66,18 @@ final class Decimal implements NumberInterface
$value = '0';
}
if (strpos($value, '-') === 0) {
$this->isNegative = true;
}
$this->value = $value;
}
public function isNegative(): bool
{
return $this->isNegative;
}
public function toString(): string
{
return $this->value;
+11
View File
@@ -40,6 +40,11 @@ final class Integer implements NumberInterface
*/
private $value;
/**
* @var bool
*/
private $isNegative = false;
/**
* @param mixed $value The integer value to store
*/
@@ -72,11 +77,17 @@ final class Integer implements NumberInterface
// Add the negative sign back to the value.
if ($sign === '-' && $value !== '0') {
$value = $sign . $value;
$this->isNegative = true;
}
$this->value = $value;
}
public function isNegative(): bool
{
return $this->isNegative;
}
public function toString(): string
{
return $this->value;
+4
View File
@@ -21,4 +21,8 @@ namespace Ramsey\Uuid\Type;
*/
interface NumberInterface extends TypeInterface
{
/**
* Returns true if this number is less than zero
*/
public function isNegative(): bool;
}