Return 0 when number is empty string.

This commit is contained in:
sc0Vu 2018-03-05 16:52:03 +08:00
parent d9b2dc3c6f
commit 9aacaffff8
2 changed files with 8 additions and 2 deletions

View File

@ -470,7 +470,6 @@ class Utils
} else {
$bn = new BigNumber($number);
}
if (isset($negative1)) {
$bn = $bn->multiply($negative1);
}
@ -485,12 +484,16 @@ class Utils
if (self::isZeroPrefixed($number) || preg_match('/[a-f]+/', $number) === 1) {
$number = self::stripZero($number);
$bn = new BigNumber($number, 16);
} elseif (empty($number)) {
$bn = new BigNumber(0);
} else {
throw new InvalidArgumentException('toBn number must be valid hex string.');
}
if (isset($negative1)) {
$bn = $bn->multiply($negative1);
}
} else {
throw new InvalidArgumentException('toBn number must be BigNumber, numeric string or int.');
throw new InvalidArgumentException('toBn number must be BigNumber, string or int.');
}
return $bn;
}

View File

@ -469,6 +469,9 @@ class UtilsTest extends TestCase
*/
public function testToBn()
{
$bn = Utils::toBn('');
$this->assertEquals($bn->toString(), '0');
$bn = Utils::toBn(11);
$this->assertEquals($bn->toString(), '11');