granam / float
浮点数值的转换和包装对象
5.1.0
2021-03-23 17:42 UTC
Requires
- php: >=7.3
- granam/number: ^5.0
Requires (Dev)
- granam/exceptions-hierarchy: ^5.0
- mockery/mockery: ^1.2
- phpunit/phpunit: ^9.0
README
提示
首先,请确保您不需要仅仅是 简单的内置浮点验证。
<?php use Granam\Float\FloatObject; $float = new FloatObject(123.456); // double(123.456) var_dump($float->getValue()); // string(7) "123.456" var_dump((string)$float); $float = new FloatObject(null); // double(0) var_dump($float->getValue()); // string(0) var_dump((string)$float); $float = new FloatObject($withTooLongDecimal = '123456.999999999999999999999999999999999999'); // double 123457 var_dump($float->getValue()); try { new FloatObject('123.999999999999999999999999999999', true /* paranoid to rounding */); } catch (\Granam\Float\Tools\Exceptions\WrongParameterType $floatException) { // Something get wrong: Some value has been lost on cast. Given string-number '123456.999999999999999999999999999999999999' results into float 123457 die('Something get wrong: ' . $floatException->getMessage()); }