繁体   English   中英

如何获取数字的最后一位数字

[英]How to get the last digit of a number

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

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

只需采取模式10:

Int32 lastNumber = num % 10;

如果要处理负数,可以使用Math.Abs​​。 像这样:

Int32 lastNumber = Math.Abs(num) % 10;

它只是模数为10的数字。例如在C中

int i = 1232123;
int lastdigit = (i % 10);

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

int n = 1232123;
int last = Convert.ToInt32(n.ToString()
                            .AsEnumerable()
                            .Last()
                            .ToString());

执行此操作的最佳方法是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";
}

最好的是:

Math.Abs(num % 10);

原因num % 10将给出负数的否定结果

另一种方式是......

var digit = Convert.ToString(1234);
var lastDigit = digit.Substring(digit.Length - 1);

暂无
暂无

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

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