1--TEST-- 2bcround() function all modes 3--EXTENSIONS-- 4bcmath 5--FILE-- 6<?php 7foreach (RoundingMode::cases() as $mode) { 8 foreach ([ 9 '1.0', 10 '-1.0', 11 '1.2', 12 '-1.2', 13 '1.7', 14 '-1.7', 15 '1.5', 16 '-1.5', 17 '2.5', 18 '-2.5', 19 ] as $number) { 20 printf("%-20s: %s -> %s\n", $mode->name, $number, bcround($number, 0, $mode)); 21 } 22 } 23?> 24--EXPECT-- 25HalfAwayFromZero : 1.0 -> 1 26HalfAwayFromZero : -1.0 -> -1 27HalfAwayFromZero : 1.2 -> 1 28HalfAwayFromZero : -1.2 -> -1 29HalfAwayFromZero : 1.7 -> 2 30HalfAwayFromZero : -1.7 -> -2 31HalfAwayFromZero : 1.5 -> 2 32HalfAwayFromZero : -1.5 -> -2 33HalfAwayFromZero : 2.5 -> 3 34HalfAwayFromZero : -2.5 -> -3 35HalfTowardsZero : 1.0 -> 1 36HalfTowardsZero : -1.0 -> -1 37HalfTowardsZero : 1.2 -> 1 38HalfTowardsZero : -1.2 -> -1 39HalfTowardsZero : 1.7 -> 2 40HalfTowardsZero : -1.7 -> -2 41HalfTowardsZero : 1.5 -> 1 42HalfTowardsZero : -1.5 -> -1 43HalfTowardsZero : 2.5 -> 2 44HalfTowardsZero : -2.5 -> -2 45HalfEven : 1.0 -> 1 46HalfEven : -1.0 -> -1 47HalfEven : 1.2 -> 1 48HalfEven : -1.2 -> -1 49HalfEven : 1.7 -> 2 50HalfEven : -1.7 -> -2 51HalfEven : 1.5 -> 2 52HalfEven : -1.5 -> -2 53HalfEven : 2.5 -> 2 54HalfEven : -2.5 -> -2 55HalfOdd : 1.0 -> 1 56HalfOdd : -1.0 -> -1 57HalfOdd : 1.2 -> 1 58HalfOdd : -1.2 -> -1 59HalfOdd : 1.7 -> 2 60HalfOdd : -1.7 -> -2 61HalfOdd : 1.5 -> 1 62HalfOdd : -1.5 -> -1 63HalfOdd : 2.5 -> 3 64HalfOdd : -2.5 -> -3 65TowardsZero : 1.0 -> 1 66TowardsZero : -1.0 -> -1 67TowardsZero : 1.2 -> 1 68TowardsZero : -1.2 -> -1 69TowardsZero : 1.7 -> 1 70TowardsZero : -1.7 -> -1 71TowardsZero : 1.5 -> 1 72TowardsZero : -1.5 -> -1 73TowardsZero : 2.5 -> 2 74TowardsZero : -2.5 -> -2 75AwayFromZero : 1.0 -> 1 76AwayFromZero : -1.0 -> -1 77AwayFromZero : 1.2 -> 2 78AwayFromZero : -1.2 -> -2 79AwayFromZero : 1.7 -> 2 80AwayFromZero : -1.7 -> -2 81AwayFromZero : 1.5 -> 2 82AwayFromZero : -1.5 -> -2 83AwayFromZero : 2.5 -> 3 84AwayFromZero : -2.5 -> -3 85NegativeInfinity : 1.0 -> 1 86NegativeInfinity : -1.0 -> -1 87NegativeInfinity : 1.2 -> 1 88NegativeInfinity : -1.2 -> -2 89NegativeInfinity : 1.7 -> 1 90NegativeInfinity : -1.7 -> -2 91NegativeInfinity : 1.5 -> 1 92NegativeInfinity : -1.5 -> -2 93NegativeInfinity : 2.5 -> 2 94NegativeInfinity : -2.5 -> -3 95PositiveInfinity : 1.0 -> 1 96PositiveInfinity : -1.0 -> -1 97PositiveInfinity : 1.2 -> 2 98PositiveInfinity : -1.2 -> -1 99PositiveInfinity : 1.7 -> 2 100PositiveInfinity : -1.7 -> -1 101PositiveInfinity : 1.5 -> 2 102PositiveInfinity : -1.5 -> -1 103PositiveInfinity : 2.5 -> 3 104PositiveInfinity : -2.5 -> -2 105