c 判斷內容是否可以轉為數值或數字格式的方法

2021-10-22 08:32:19 字數 1123 閱讀 2659

在從excel中獲取內容時,經常遇到數字型別的資料,當我們想要將這些數字格式的資料轉放到實體類中時,如果不考慮判斷直接使用***.parse()或者convert.to***()當遇到某些資料格式不正確的時候會報資料格式異常的錯誤提醒。為了讓程式更好的執行,有更高的容錯性,需要對資料先有個判斷。

decimal dec =0;

//定義乙個數值if(

decimal

.tryparse

(string

,out dec)

)

有了這個方法一下子幫我解決了許多問題,我不必為了乙個數值的錯誤而在excel中反覆查詢錯誤的原因,但是在實際使用excel時還會遇到乙個叫科學計數法的內容。明明在excel中是乙個數值,但是當從excel中讀取出來是就成了類似11e-03格式的數值,這個通過上述的方法簡單判斷就又不行了,他會預設這是乙個普通的帶字母的字串,無法轉為數值。這時,我們還需要對此類科學計數法進行格式判斷,通常遇到這類情況第一反應還是使用正規表示式,但是我們還是可以使用上述的方法(不過需要更改一下)來簡單的實現此類效果。**如下:

// 如果不是普通的數值而是以科學計數法存在的判斷能否轉成數值型別

numberstyles style = numberstyles.float | numberstyles.integer;

cultureinfo culture = cultureinfo.

createspecificculture

("en-gb");

if(decimal

.tryparse

(key.

findbyname

(item.name)

, style, culture,

out dec)

)

在官網上這個方法比我現在使用的還要強大,如果感興趣的可以參考官網上的介紹:decimal.tryparse 方法 ;其中對於numberstyles還是好理解的,就是對應的資料格式,但是對於後面的cultureinfo乍一看不是好理解的,理解之後就明白這是對相應的資料的一種格式分析,這裡我提供官方提供的詳細介紹,看完之後收穫還是挺大的:iformatprovider 介面

JavaScript判斷輸入內容是否為數字

方法一 不嚴謹 isnan is not a number 網上大部分人說這個方法有個問題,就是如果傳入引數是乙個空串或是乙個空格,而isnan是做為數字0進行處理的,所以isnan檢查不嚴密。自定義方法並呼叫,使用正規表示式 網上看到的都什麼玩意,測了很多有問題,所以自己 了乙個常用正規表示式 廢...

輸入內容來判斷是否為數字或字母

bin sh txt 輸入q或者q退出 請輸入內容來判斷是數字還是字母 while true doread p txt key test1 echo key sed s 0 9 g test2 echo key sed s a za z g test3 echo key sed s a za z0 ...

(C語言)判斷數獨是否正確

數獨是源自18世紀瑞士的一種數學遊戲。是一種運用紙 筆進行演算的邏輯遊戲。玩家需要根據9 9盤面上的已知數字,推理出所有剩餘空格的數字,並滿足每一行 每一列 每乙個粗線宮 3 3 內的數字均含1 9,不重複。當然,肯定不會讓你用程式完成沒填好的數獨的。現在給你乙個9 9填滿了數的格仔,想讓你檢查一下...