如何分解整数

时间:2022-05-27 11:17:30

the answer to this could be easy. But I'm very fresh to programming. So be gentle...

答案可能很简单。但我对编程非常新鲜。所以要温柔......

I'm at work trying to do a quick fix for one of your customers. I want to get the total numbers of digits in a integer, and then explode the integer:

我正在努力为您的一位客户快速解决问题。我想得到一个整数的总位数,然后爆炸整数:

rx_freq = 1331000000 ( = 10 )
  $array[0] = 1
  $array[1] = 3
  .
  .
  $array[9] = 0

rx_freq = 990909099 ( = 9 )
  $array[0] = 9
  $array[1] = 9
  .
  .
  $array[8] = 9

I'm not able to use explode, as this function need a delimiter. I've searched the eyh'old Google and *.

我无法使用爆炸,因为此功能需要分隔符。我搜索了eyh'old Google和*。

Basically: How do I explode an integer without delimiter, and how do I find the number of digits in an integer.

基本上:如何在没有分隔符的情况下分解整数,以及如何找到整数中的位数。

3 个解决方案

#1


34  

$array = str_split($int) and $num_digits = strlen($int) should work just fine.

$ array = str_split($ int)和$ num_digits = strlen($ int)应该可以正常工作。

#2


8  

Use the str_split() function:

使用str_split()函数:

$array = str_split(1331000000);

Thanks to PHP's automated type coercion the passed int will be converted to a string automatically. But if you want you can also add an explicit cast.

由于PHP的自动类型强制,传递的int将自动转换为字符串。但如果你想要,你也可以添加一个显式的演员阵容。

#3


2  

I know this is old, but just came across it. Perhaps it can help someone else.

我知道这是旧的,但刚刚遇到它。也许它可以帮助别人。

First convert the number to a string. This is very easy to do. $number = 45675; //number you want to split

首先将数字转换为字符串。这很容易做到。 $ number = 45675; //要分割的号码

$nums = ""; //Declare a variable with empty set.

$nums .= $number; //concatenate the empty string with the integer $number You can also use

$nums = $nums.$number; // this and the expression above do the same thing choose whichever you
                     //like.. This concatenation automatically converts integer to string
$nums[0] is now 4, $nums[1] is now 5, etc..
$length = strlen($nums); // This is the length of your integer.
$target = strlen($nums) -1; // target the last digit in the string;    
$last_digit = $nums[$target]; // This is the value of 5. Last digit in the (now string)

Hope This helps someone!

希望这有助于某人!

#1


34  

$array = str_split($int) and $num_digits = strlen($int) should work just fine.

$ array = str_split($ int)和$ num_digits = strlen($ int)应该可以正常工作。

#2


8  

Use the str_split() function:

使用str_split()函数:

$array = str_split(1331000000);

Thanks to PHP's automated type coercion the passed int will be converted to a string automatically. But if you want you can also add an explicit cast.

由于PHP的自动类型强制,传递的int将自动转换为字符串。但如果你想要,你也可以添加一个显式的演员阵容。

#3


2  

I know this is old, but just came across it. Perhaps it can help someone else.

我知道这是旧的,但刚刚遇到它。也许它可以帮助别人。

First convert the number to a string. This is very easy to do. $number = 45675; //number you want to split

首先将数字转换为字符串。这很容易做到。 $ number = 45675; //要分割的号码

$nums = ""; //Declare a variable with empty set.

$nums .= $number; //concatenate the empty string with the integer $number You can also use

$nums = $nums.$number; // this and the expression above do the same thing choose whichever you
                     //like.. This concatenation automatically converts integer to string
$nums[0] is now 4, $nums[1] is now 5, etc..
$length = strlen($nums); // This is the length of your integer.
$target = strlen($nums) -1; // target the last digit in the string;    
$last_digit = $nums[$target]; // This is the value of 5. Last digit in the (now string)

Hope This helps someone!

希望这有助于某人!