首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

如何將 string 解析為 int?(四):NumberFormatInfo 進階應用與常見問題

     編輯:關於C語言

NumberFormatInfo 實例用法

NumberFormatInfo 實作 IFormatProvider,可作為參數傳遞給對應的多載方法。

自訂區域選項對應

「數字」索引標籤中大多數設定可對應 NumberFormatInfo 屬性,但三項無對應:前置零顯示、清單分隔符號、度量衡系統。負數格式需組合 NegativeSign、NumberDecimalDigits、NumberDecimalSeparator 等設定。

前置零、清單分隔符、度量衡系統目前無對應設定處(可用 RegionInfo.IsMetric 偵測公制)。

無法推斷 NumberStyles 時

可使用 NumberStyles.Any。

編碼時選擇解析方法的準則

  1. 確認 CLR 版本支援(TryParse 需 .NET 2.0+)。
  2. 依重載簽名選擇:非十進位僅 Convert.ToInt32 支援二/八/十六進位;十/十六進位皆可用 Int32.Parse/TryParse。
  3. 需指定 NumberStyles 時,必須用 Int32.Parse/TryParse 多載。
  4. 不想處理例外用 TryParse;想透過例外通知呼叫端用 Parse 或 Convert.ToInt32。
  5. 準則非唯一,實務中可自行總結。

其他基元類型解析

.NET 為所有基元類型(SByte, Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64, Char, Single, Double, Boolean, Decimal)提供 Convert.ToXxx、Xxx.Parse、Xxx.TryParse。DateTime 另增 TryParseExact。用法大同小異,差異在字串格式規範。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved