示例#1
0
 /**
  * Defined by Zend_Filter_Interface
  *
  * Normalizes the given input
  *
  * @param  string $value Value to normalized
  * @return string|array The normalized value
  */
 public function filter($value)
 {
     if (Format::isNumber($value, $this->_options)) {
         return Format::getNumber($value, $this->_options);
     } else {
         if ($this->_options['date_format'] === null && strpos($value, ':') !== false) {
             // Special case, no date format specified, detect time input
             return Format::getTime($value, $this->_options);
         } else {
             if (Format::checkDateFormat($value, $this->_options)) {
                 // Detect date or time input
                 return Format::getDate($value, $this->_options);
             }
         }
     }
     return $value;
 }
示例#2
0
 public function testShortNotation()
 {
     $this->assertEquals(0.12345, Format::getNumber(0.12345));
     $options = array('locale' => 'de');
     $this->assertEquals(0.12345, Format::getNumber(',12345', $options));
     $options = array('locale' => 'de_AT');
     $this->assertEquals(0.12345, Format::getNumber(',12345', $options));
     $this->assertEquals('0,75', Format::toNumber(0.75, array('locale' => 'de_DE', 'precision' => 2)));
     $this->assertTrue(Format::isNumber(',12345', array('locale' => 'de_AT')));
     $this->assertEquals(0.12345, Format::getFloat(0.12345));
     $options = array('locale' => 'de');
     $this->assertEquals(0.12345, Format::getFloat(',12345', $options));
     $options = array('locale' => 'de_AT');
     $this->assertEquals(0.12345, Format::getFloat(',12345', $options));
     $options = array('locale' => 'de_AT');
     $this->assertEquals('0,12345', Format::toFloat(0.12345, $options));
     $options = array('locale' => 'ar_QA');
     $this->assertEquals('0,12345', Format::toFloat(0.12345, $options));
     $this->assertTrue(Format::isFloat(',12345', array('locale' => 'de_AT')));
     $this->assertEquals(0, Format::getInteger(0.1234567));
     $options = array('locale' => 'de');
     $this->assertEquals(0, Format::getInteger(',12345', $options));
     $options = array('locale' => 'de_AT');
     $this->assertEquals(0, Format::getInteger(',12345', $options));
     $this->assertEquals('0', Format::toInteger(0.123, array('locale' => 'de')));
     $options = array('locale' => 'de_AT');
     $this->assertEquals('0', Format::toInteger(0.12345, $options));
     $this->assertFalse(Format::isInteger(',12345', array('locale' => 'de_AT')));
     $options = array('locale' => 'de_AT');
     $this->assertEquals('0,567', Format::toNumber(0.5669999999999999, $options));
 }