如何在PHP中分隔数字并获取前两位数字?

时间:2011-09-14 08:12:13

标签: php

如何分隔数字并获取PHP中的前两位数?

例如:1345 - >我想要这个输出=> 131542我想要15

7 个答案:

答案 0 :(得分:22)

一种可能性是使用substr

echo substr($mynumber, 0, 2);

修改
请注意,就像hakre所说的那样,这会打破带有小数位的负数或小数。他的解决方案更好,因为他正在做一些检查以避免这种情况。

答案 1 :(得分:7)

首先,您需要规范化您的号码,因为并非PHP中的所有数字都只包含数字。您可能正在寻找整数:

$number = (int) $number;

您可以在此处运行的问题是PHP中的整数数字范围或舍入问题,请参阅Integers DocsINF

由于数字现在是一个整数,您可以在字符串上下文中使用它并提取前两个字符,如果数字不是负数,它将是前两个数字。如果数字为负数,则需要保留符号:

$twoDigits = substr($number, 0, $number < 0 ? 3 : 2);

请参阅Demo

答案 2 :(得分:5)

不应该太难吗?一个简单的子字符串应该可以解决问题(您可以将数字视为字符串,使用松散类型的语言,如PHP)。

请参阅PHP手册页了解substr()功能。

这样的事情:

$output = substr($input, 0, 2); //get first two characters (digits)

答案 3 :(得分:2)

您可以获取您的号码的字符串值,然后获取您想要使用的部分  substr

答案 4 :(得分:1)

这应该做你想要的

$length = 2;
$newstr = substr($string, $lenght);

答案 5 :(得分:0)

如果您不想使用substr,您可以将您的数字除以10,直到它有2位数字:

<?php
function foo($i) {
    $i = abs((int)$i);
    while ($i > 99)
        $i = $i / 10;
    return $i;
}

会给你前两位数字

答案 6 :(得分:0)

在新版本的 PHP (> PHP 7.3) 中使用强类型提示,如果您有整数或浮点数,则不能在函数上使用 substr。是的,您可以将其转换为字符串,但这不是一个好的解决方案。 您可以除以十个因子并重新转换为 int。

$number = 1345; 
$mynumber = (int)($number/100);
echo $mynumber;

显示:13