c# convert類轉換帶有小數的數字型字符串出錯問題

一般從界面或則xml等格式獲取的數據都是字符串型的,有些是整數如10,34等,有些事小數如12.54,16.3等,我們經常會需要將字符串轉換成相應的數字型,即整型來進行加減乘除等運算,常用的類型轉換的類是convert,

如果我們的字符串是整形的,那麼直接將其放入裏面是不會出錯的,但是如果我們的字符串是float型的字符串,那麼就會報下面的錯誤

顯示輸入的字符串格式不正確,查看這個類裏面定義的public static int ToInt32(string value);這個函數會發現,string類的value必須是整形的,從0-9的數字,不能包含任意其字符,官方第二條異常中寫道value represents a number that is less than System.Int32.MinValue or greater than System.Int32.MaxValue.其實就是說這個值,不能是小數。所以,可以先通過convert.todouble(),然後再把這個轉換成dounle的值換成int型,即Convert.ToInt32(Convert.ToDouble(String Value));這樣就相當於把一個double類型的數據強制轉換成int型,把小數部分去掉了,只保留整數部分。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章