繁体   English   中英

C ++:获取2位数字的前一位

[英]C++: getting the front digit of a 2 digit number

我目前正在处理直方图,并且是C ++的新手,所以我不知道是否有一种简便的方法,有人可以帮忙吗?

数字始终在-1到99之间。我想返回第一个数字。 我知道可以使用%返回最后一个数字,但是找不到返回第一个数字的方法。

Examples:
98 --> 9
87 --> 8
24 --> 2
10 --> 1
==For anything under 9 I would like to return a 0==
9  --> 0
5  --> 0
0  --> 0
-1 --> 0

获取第二个数字的一​​般方法(即使数字可以大于99的情况)是

n / 10 % 10

请注意,对于-11,它将返回-1。 如果需要1,则执行(n >= 0 ? n : -n) / 10 % 10

只需返回数字除以10即

int get_digit_2nd(int number)
{
    if(number <= 0)
        return 0; 
    return number / 10 ; // since your number is below 100. 
}

由于数字始终小于100,

n/10;

足够了。

但是n可能是-1,所以

answer = n >= 0 ? n/10 : -1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM