C# object 轉 int


4種方法分別對應不同情況

需要被轉換的對象為:obj


1.(int)obj 次方法需要obj儲存的為確切的int類型對象。否則轉換時會拋出異常


2.int.Parse(obj)/ int.TryParse(obj) 需要obj為確切的string類型對象,並且為數字。若不為string則不通過編譯,不為數字則拋出異常


3.int.ParseExact(obj)/ int.TryParseExact(obj) 帶格式轉換的,同上


4.Convert.Int32(obj) 轉換任意類型為int 對象


例如一個Object[string] 對象就需要第四種方法轉換,而Object[int]用第一種方法就可以轉換(拆箱)


以下為引用別人的sql中的字符檢查和轉換


ISNUMERIC
確定表達式是否為一個有效的數字類型。

語法
ISNUMERIC ( expression )

參數
expression

要計算的表達式。

返回類型
int

注釋
當輸入表達式得數為一個有效的整數、浮點數、money 或 decimal 類型,那么 ISNUMERIC 返回 1;否則返回 0。返回值為 1 確保可以將 expression 轉換為上述數字類型中的一種。

但是此函數存在Bug,就是'234a2342'同樣會認為是數字類型

可以替代的寫法是

PATINDEX('%[^0-9]%', @s)

如果返回值等於0,則是純數字型(沒有0~9之外的字符)。

對於支持小數點和正負數寫法是

PATINDEX('%[^0-9|.|-|+]%',@s)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM