【问题标题】:Get digits in an integer [duplicate]获取整数中的数字[重复]
【发布时间】:2010-08-22 04:35:35
【问题描述】:

有什么方法可以得到整数的位数吗?例如:

int a = 12345;

我想确定a 有 5 位数字

【问题讨论】:

    标签: c#


    【解决方案1】:
    int a = 12345;
    int length = a.ToString().Length;      // returns 5
    

    【讨论】:

    • a.ToString().Length 对吗? Length 不是属性而不是方法吗?
    • 是的,已经注意到了:)
    • 难道ToString() 不能返回12,345,这取决于当地文化吗? (我不确定,这里的文档有点混乱,但它在 DateTime 上确实如此。当然,这可能是 OP 无论如何都需要的......)
    • 所以只需使用 var length = a.ToString(CultureInfo.InvariantCulture);
    • public static int Count( this int Value) { return ((Value == 0) ? 1 : ((int)Math.Floor(Math.Log10(Math.Abs(Value))) + 1)); } 作为扩展方法。平均而言,这比字符串转换快 18%。
    猜你喜欢
    • 2013-12-31
    • 2020-02-26
    • 2021-05-21
    • 2016-06-09
    • 1970-01-01
    • 2021-11-07
    • 1970-01-01
    • 2019-04-14
    • 1970-01-01
    相关资源
    最近更新 更多