删除小数点,例如99.99 = 9999

Remove decimal point e.g. 99.99 = 9999

我正在尝试找到一种从数字中删除小数点的方法。

例如

1.11 等于 111

9.99 等于 999

1.1111 等于 11111

似乎找不到执行此操作所需的函数。我一直在谷歌上搜索这个函数,但没有成功。

我已经尝试过这些功能,但这不是我要找的:

floor(99.99) = 99
round(99.99) = 100
number_format(99.99) = 100

这应该适合你:

<?php

    $str = "9.99";
    echo $str = str_replace(".", "", $str);

?>

输出:

999

如果你想简单地去掉小数点,你可以直接替换它。

str_replace('.', '', $string);

您可以将其视为字符串并删除 . 字符:

$num = str_replace ('.', '', $num);

我们可以使用爆炸:

$num = 99.999;
$final = '';
$segments = explode($num, '.');
foreach ($segments as $segment){
  $final .= $segment;
}
echo $final;

查看此演示:http://codepad.org/DMiFNYfB

针对任何本地设置变化概括解决方案,我们可以使用 preg_split,如下所示:

  $num = 99.999;
    $final = '';
    $pat = "/[^a-zA-Z0-9]/";
    $segments = preg_split($pat, $num);
    foreach ($segments as $segment){
      $final .= $segment;
    }
    echo $final;

此外,还有另一种使用for循环的解决方案:

<?php
$num = 99.999;
$num = "$num"; //casting number to be string
$final = '';
for ($i =0; $i < strlen($num); $i++){
   if ($num[$i] == '.') continue;
   $final .= $num[$i];
}
echo $final;

尝试:

$num = 1.11; // number 1.11
$num_to_str = strval($num); // convert number to string "1.11"
$no_decimals = str_replace(".", "", $num_to_str); // remove decimal point "111"
$str_to_num = intval($no_decimals); // convert back to number 111

一行中的内容类似于:

$num_without_decimals = intval(str_replace(".", "", strval(1.11)));