以下是如何将十进制数(例如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]);
//指数 = (-) 小数点后字符的数量。
}
?>