コード例 #1
0
 /**
  * If PHP is compiled in 32bit mode, the returned value for a 64bit integer are float numbers.
  */
 public function testParseTypeInt64With64BitIntegerInPhp32Bit()
 {
     IntlTestHelper::require32Bit($this);
     $formatter = $this->getNumberFormatter('en', NumberFormatter::DECIMAL);
     // int 64 using only 32 bit range strangeness
     $parsedValue = $formatter->parse('2,147,483,648', NumberFormatter::TYPE_INT64);
     $this->assertInternalType('float', $parsedValue);
     $this->assertEquals(2147483648, $parsedValue, '->parse() TYPE_INT64 does not use true 64 bit integers, using only the 32 bit range.');
     $parsedValue = $formatter->parse('-2,147,483,649', NumberFormatter::TYPE_INT64);
     $this->assertInternalType('float', $parsedValue);
     $this->assertEquals(-2147483649, $parsedValue, '->parse() TYPE_INT64 does not use true 64 bit integers, using only the 32 bit range.');
 }