granam/float

浮点数值的转换和包装对象

安装量: 21,484

依赖: 11

建议者: 0

安全: 0

星标: 2

关注者: 2

分支: 0

公开问题: 0

类型:项目

5.1.0 2021-03-23 17:42 UTC

README

Build Status

提示

首先,请确保您不需要仅仅是 简单的内置浮点验证

<?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());
}