Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 解析浮点字符串并在小数部分保留零_Php_Floating Point - Fatal编程技术网

Php 解析浮点字符串并在小数部分保留零

Php 解析浮点字符串并在小数部分保留零,php,floating-point,Php,Floating Point,我有个问题,我发现了这个,但这不是我需要的解决方案 我有f.e.字符串48.453150 e,我只需要从中提取浮点数,当我使用(float),它将返回48.45315,但我需要在小数部分末尾保留零。我不知道小数部分有多少位,可以是各种各样的 有没有办法解析浮点字符串并保留零?当您将数字解析为浮点时,它不是字符串,因此尾随数字的概念没有意义 要显示数字时,请使用number\u格式($number,5)将其转换为小数点后有5位数字的字符串。这将包括尾随的零。只需使用简单的函数,其工作良好: fun

我有个问题,我发现了这个,但这不是我需要的解决方案

我有f.e.字符串
48.453150 e
,我只需要从中提取浮点数,当我使用
(float)
,它将返回
48.45315
,但我需要在小数部分末尾保留零。我不知道小数部分有多少位,可以是各种各样的


有没有办法解析浮点字符串并保留零?

当您将数字解析为浮点时,它不是字符串,因此尾随数字的概念没有意义


要显示数字时,请使用
number\u格式($number,5)
将其转换为小数点后有5位数字的字符串。这将包括尾随的零。

只需使用简单的函数,其工作良好:

function get_number($str) {
    $number = '';

    $allowed = array('.');

    for ($i = 0; $i <= 9; $i++) {
        $allowed[] = (string)$i;
    }

    for ($i = 0; $i < strlen($str); $i++) {
        if (in_array($str{$i}, $allowed)) {
            $number .= $str{$i};
        }
        else {
            break;
        }
    }

    return $number;
}
函数get_number($str){ $number=''; $allowed=数组('.');
对于($i=0;$i,但我不知道小数点后会有多少位,我需要相同的,因为它是在原始字符串中。然后,首先不要将其转换为浮点,使用字符串。也许你是对的,也许最好遍历整个字符串,当到达非数字和小数点时停止。