Erebot  latest
A modular IRC bot for PHP 5.3+
FloatVariable.php
1 <?php
2 /*
3  This file is part of Erebot, a modular IRC bot written in PHP.
4 
5  Copyright © 2010 François Poirotte
6 
7  Erebot is free software: you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation, either version 3 of the License, or
10  (at your option) any later version.
11 
12  Erebot is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with Erebot. If not, see <http://www.gnu.org/licenses/>.
19 */
20 
21 namespace Erebot\Styling\Variables;
22 
27 class FloatVariable implements \Erebot\Styling\Variables\FloatInterface
28 {
30  protected $value;
31 
38  public function __construct($value)
39  {
40  $this->value = $value;
41  }
42 
44  {
45  $locale = $translator->getLocale(\Erebot\IntlInterface::LC_NUMERIC);
46  $formatter = new \NumberFormatter($locale, \NumberFormatter::DECIMAL);
47  $formatter->setAttribute(\NumberFormatter::MIN_FRACTION_DIGITS, 0);
48  $formatter->setAttribute(\NumberFormatter::MAX_FRACTION_DIGITS, 100);
49  $result = (string) $formatter->format($this->value);
50  return $result;
51  }
52 
53  public function getValue()
54  {
55  return $this->value;
56  }
57 }
$value
The float-point value to format.
Interface to provide internationalization.
Definition: CLI.php:21
const LC_NUMERIC
Non-monetary numeric formats.
A class used to format floating-point values.
render(\Erebot\IntlInterface $translator)
$translator
Translator to use to improve rendering.
Definition: Styling.php:116