首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C# 不轉字串判斷整數位數:Math.Log10 經典用法

     編輯:程式設計綜合問答

核心公式

正整數 n 的十進位位數 = (int)Math.Log10(n) + 1。

完整實作

public static int DigitCount(int n) {
    if (n == 0) return 1;
    n = Math.Abs(n); // 處理負數
    return (int)Math.Log10(n) + 1;
}

注意事項

  • Math.Log10(0) 為負無限大,需單獨處理 0。
  • 浮點運算極大數(如 int.MaxValue)可能產生微小誤差,建議加 1e-10 再轉整:
    return (int)(Math.Log10(n) + 1e-10) + 1;
  • 效能遠優於字串轉換 n.ToString().Length,適合高頻呼叫場景。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved