【问题标题】:Converting String to int in PHP在 PHP 中将字符串转换为 int
【发布时间】:2012-09-07 17:10:45
【问题描述】:
    $date = "1346706576967";  // miliseconds
    $newDate = (int) $date;
    echo $newDate;

我得到“2147483647”作为 $newDate。

我只是想将变量从 String 1346706576967 转换为 int 1346706576967 - 这怎么可能?

【问题讨论】:

  • 我有 Godaddy 主机,这怎么可能改变?

标签: php string int


【解决方案1】:

不幸的是,2147483647 是整数可以容纳的最大值。您可以在此处使用浮点数,因为浮点数可以准确地保存高达 10000000000000 的整数值

【讨论】:

  • 基于 Will 的回答,只需使用 ` $d​​ate = "1346706576967"; // 毫秒 $newDate = floatval($date);回声 $newDate;`
【解决方案2】:

因为这是 PHP 中整数可以具有的最大大小。 您需要专门用于处理 BCMath 或 GMP 等更大整数的 PHP 库,或者将其转换为浮点数。

【讨论】:

    【解决方案3】:

    可能的转换,

    $input => 1346706576967
    (integer)$input => 2147483647
    intval($input) => 2147483647
    $input*1 => 1346706576967
    settype($input, "integer") => 1346706576967
    

    http://phpconvert.com/online/

    【讨论】:

      【解决方案4】:

      可以使用隐式转换来正确转换:

      $date = "1346706576967";  // miliseconds
      $newDate = 0+$date; // float(1346706576967)
      $newDate = (int) $date; // int(2147483647)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-10-02
        • 2011-03-06
        • 1970-01-01
        • 2018-07-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多