例如,42556
。如果我不知道号码中的位数,如何确定第一个数字?我找不到适合我的算法! (我的意思是确定42556中的4)
答案 0 :(得分:1)
迭代除以10直到结果小于10.
public function render($request, Exception $e)
{
return parent::render($request, $e);
}
答案 1 :(得分:1)
你可以继续将它除以10,直到你到达最后一位数字:
int lastDigit(int n) {
n = abs(n); // Handle negative numbers
int ret = n;
while (n > 0) {
ret = n % 10;
n /= 10;
}
return ret;
}
答案 2 :(得分:1)
假设a
是输入数字。
#include <iostream>
#include <cmath>
using namespace std;
int main() {
long a = 42556;
long num;
num=floor(log10(a))+1;
//cout<<num<<" "<<"\n"; //prints the number of digits in the number
cout<<a/(int)pow(10,num-1)<<"\n"; //prints the first digit
cout<<a%10<<"\n"; //prints the last digit
return 0;
}
现场演示 here 。
答案 3 :(得分:1)
所有答案都假设您有一个整数。但通常,您可以先使用floor
中的<cmath>
函数获取整数形式,即
#include <cmath>
int getlastdigit(double number)
{
long long n = (long long)floor(number);
while(n > 9)
n /= 10;
return n;
}
答案 4 :(得分:0)
试试这个:
MESSAGENOTDEFINED