34

如何获取数字的最后一位?例如如果 1232123, 3 将是结果

我想要一些有效的逻辑,以便很容易得到大数字的结果。
在我得到最终数字后,我需要对其进行一些处理。

4

6 回答 6

72

Just take mod 10:

Int32 lastNumber = num % 10;

One could use Math.Abs if one's going to deal with negative numbers. Like so:

Int32 lastNumber = Math.Abs(num) % 10;
于 2013-03-31T16:35:25.883 回答
16

It's just the number modulo 10. For example in C

int i = 1232123;
int lastdigit = (i % 10);
于 2013-03-31T16:35:58.170 回答
11

这是为了显而易见而牺牲效率的蛮力方式:

int n = 1232123;
int last = Convert.ToInt32(n.ToString()
                            .AsEnumerable()
                            .Last()
                            .ToString());
于 2013-03-31T16:45:37.643 回答
4

最好的是:

Math.Abs(num % 10);

原因num % 10会给你负数的负结果

于 2018-04-24T19:19:58.690 回答
3

最好的方法是int lastNumber = (your number) % 10;
如果你想将最后一个数字作为字符串返回,你可以这样做

switch (number % 10)
{
    case 0:
        return "zero";
    case 1:
        return "one";
    case 2:
        return "two";
    case 3:
        return "three";
    case 4:
        return "four";
    case 5:
        return "five";
    case 6:
        return "six";
    case 7:
        return "seven";
    case 8:
        return "eight";
    case 9:
        return "nine";
}
于 2016-02-11T21:08:59.503 回答
1

另一种方法是..

var digit = Convert.ToString(1234);
var lastDigit = digit.Substring(digit.Length - 1);
于 2017-11-19T15:56:38.400 回答