第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在不丟失的情況下將 String 解析為 long

如何在不丟失的情況下將 String 解析為 long

PHP
皈依舞 2023-05-12 15:26:05
將字符串解析為長字符串時遇到問題。我希望將變量“695690829980893234”解析為 long 而沒有任何損失。我環(huán)顧四周,但似乎沒有任何幫助。使用時(double) $var顯示為 4.2904753172133E+17(這不是我需要的方式)有人有什么想法嗎?非常感激!
查看完整描述

2 回答

?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

在標準 PHP 中, long類型是不存在的。


所以,如果你想要一個長整數,你可以使用標準的int類型,或者使用擴展,比如BC或GMP。


具體來說,值695690829980893234在64位PHP的整數范圍內,但在32位PHP的整數范圍之外。


轉換為int:

首先,請確保數字在int范圍內。然后只需轉換


$res = intval("695690829980893234");

if($res<PHP_INT_MAX){

    // OK! inside the positive limitation

}

轉換為GMP

一個 GMP 對象表示一個任意長度的整數:


$res = gmp_init("695690829980893234");

然后,使用GMP函數對號碼進行操作,如:


$res = gmp_add($res, gmp_init("100"));

$res = gmp_sub($res, gmp_init("200"));

最后,將其轉換回 int 或 string:


$int = gmp_intval($res);

$str = gmp_strval($res);

希望這個答案有所幫助。


查看完整回答
反對 回復 2023-05-12
?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

確保您運行的是 64 位版本的 PHP。


echo PHP_INT_SIZE;

8

然后它會很容易地將字符串轉換為 int


$a =  "695690829980893234";

$b =  (int)$a;

var_dump($a, $b);

string(18) "695690829980893234"

int(695690829980893234)


查看完整回答
反對 回復 2023-05-12
  • 2 回答
  • 0 關注
  • 202 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號