/** * 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.'); }