以下是如何将小数(例如 3.25)解析为整数和指数的方法
<?
if (preg_match("/^[0-9]+\.[0-9]+$/",$input)){
// 输入是小数。根据需要进行乘法以移除小数点。
// 将其转换为 gmp_resource,然后将指数减 1
// 以补偿。
$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]);
// 指数 = (-) 小数点后的字符数。
}
?>