100) { throw new InvalidArgumentException('The value for the probability '. 'must be in a range from 0 to 100.'); } else if (!is_int($prob)) { throw new InvalidArgumentException('rand_bool only accepts integers.'); } $rand = rand(1, 100); return $rand <= $prob; } /** * Return the formatted string representation of a floatng point number. * * The decimal point is a ',', the thousands seperator ist set to '.'. * The number of decimals is 2 by default but can be set by the $decimals * argument. * * @param integer $decimals Sets the number of decimal points. * @return string */ function formatAmount(float $amount, $cash = true, $text = false, $decimals = 2) { $euro = ($cash) ? ' €' : ''; if (!$text) { $sign = ($amount < 0) ? '- ' : ''; $left = ''; $right = ''; $span = ''; if ($amount == 0) { return $right . '- ' . $euro . $span; } return $left . $sign . $span . $right . number_format(abs($amount), $decimals, ',', '.') . $euro . $span; } return number_format(abs($amount), $decimals, ',', '.') . $euro; } /** * Return a formatted date string. * * @param string $date * @param string $format * @return string */ function formatDate($date, $format='d.m.Y') { return Carbon\Carbon::parse($date)->format($format); } /** * Return the string that is the first day of the month, given by the year and * the month. * * @param string $year * @param string $month * @return string */ function startOfMonth($year, $month, $format='d.m.Y') { return Carbon\Carbon::createFromDate($year, $month) ->startOfMonth()->format($format); } /** * Return the string that is the last day of the month, given by the year and * the month. * * @param string $year * @param string $month * @return string */ function endOfMonth($year, $month, $format='d.m.Y') { return Carbon\Carbon::createFromDate($year, $month) ->endOfMonth()->format($format); }