以下是一種將小數(例如 3.25)解析為整數和指數的方法
<?
if (preg_match("/^[0-9]+\.[0-9]+$/",$input)){
//輸入為十進位數。根據需要乘法以移除小數點
//。將其轉換為 gmp_resource,然後遞減指數
//進行補償。
$pieces=explode(".", $input); //在小數點處分割。
$input="$pieces[0]$pieces[1]"; //移除小數點。
$input=ltrim($input,'0');
//移除任何前導零,否則 gmp_init 會將數字解析為八進位。
if ($input==''){ //處理 "0.0",否則它會是 ''。
$input=0;
}
$integer=gmp_init($input);
$ns_exponent=-strlen($pieces[1]);
//指數 = (-) 小數點後的字元數。
}
?>