熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET數據類型轉換淺析

2013-11-13 09:52:13  來源: .NET編程 

  ASPNET數據類型轉換是如何實現的呢?讓我們首先來看看所涉及的函數

  每個函數都可以強制將一個表達式轉換成某種特定數據類型

  ASPNET數據類型轉換語法

  CBool(expression)

  CByte(expression)

  CCur(expression)

  CDate(expression)

  CDbl(expression)

  CDec(expression)

  CInt(expression)

  CLng(expression)

  CSng(expression)

  CStr(expression)

  CVar(expression)

  CStr(expression)

  必要的 expression 參數可以是任何字符串表達式或數值表達式

  ASPNET數據類型轉換返回類型

  函數名稱決定返回類型如下所示

  ASPNET數據類型轉換函數返回類型 expression 參數范圍

  CBool Boolean 任何有效的字符串或數值表達式

  CByte Byte

  CCur Currency

  CDate Date 任何有效的日期表達式

  CDbl Double 負數從 EE正數從 EE

  CDec Decimal 零變比數值即無小數位數值為+/對於 位小數的數值范圍則為 +/最小的可能非零值是

  CInt Integer 小數部分四捨五入

  CLng Long 小數部分四捨五入

  CSng Single 負數為 EE正數為 EE

  CStr String 依據 expression 參數返回 Cstr

  CVar Variant 若為數值則范圍與 Double 相同若不為數值則范圍與 String 相同

  ASPNET數據類型轉換說明

  如果傳遞給函數的 expression 超過轉換目標數據類型的范圍將發生錯誤通常在編碼時可以使用數據類型轉換函數來體現某些操作的結果應該表示為特定的數據類型而不是缺省的數據類型例如當單精度雙精度或整數運算發生的情況下使用 CCur 來強制執行貨幣運算

  應該使用數據類型轉換函數來代替 Val以使國際版的數據轉換可以從一種數據類型轉換為另一種例如當使用 Ccur 時不同的小數點分隔符千分位分隔符和各種貨幣選項依據系統的國別設置都會被妥善識別

  當小數部分恰好為 Cint 和 CLng 函數會將它轉換為最接近的偶數值例如 轉換為 轉換為 Cint 和 CLng 函數不同於 Fix 和 Int 函數Fix 和 Int 函數會將小數部分截斷而不是四捨五入並且 Fix 和 Int 函數總是返回與傳入的數據類型相同的值

  使用 IsDate 函數可判斷 date 是否可以被轉換為日期或時間Cdate 可用來識別日期文字和時間文字以及落入可接受的日期范圍內的數值當轉換一個數字成為日期時是將整數部分轉換為日期小數部分轉換為從午夜起算的時間

  CDate 依據系統上的國別設置來決定日期的格式如果提供的格式為不可識別的日期設置則不能正確判斷年日的順序另外長日期格式若包含有星期的字符串也不能被識別

  CVDate 函數也提供對早期 Visual Basic 版本的兼容性CVDate 函數的語法與 CDate 函數是完全相同的不過CVDate 是返回一個 Variant它的子類型是 Date而不是實際的 Date 類型因為現在已有真正的 Date 類型所以 CVDate 也不再需要了轉換一個表達式成為 Date再賦值給一個 Variant也可以達到同樣的效果也可以使用這種技巧將其他真正的數據類型轉換為對等的 Variant 子類型

  注意 CDec 函數不能返回獨立的數據類型而總是返回一個 Variant它的值已經被轉換為 Decimal 子類型

  cint()   是ASP中的函數

  函數將一個表達式轉化為數字類型

  ASPNET數據類型轉換表達式 CInt(expression)

  允許數據類型: 任何有效的字符均可

  ASPNET數據類型轉換實例

  ﹤%  f = responsewrite cINT(f) +   %﹥ 返回結果:

  轉化字符為數字如果字符串為空則返回

  經常見到cint和clng的溢出出錯如果有檢測函數就不會出這個問題下面這兩個函數是應朋友要求寫的看一下吧

  檢測字符串是否是整數

  function Is_Int(a_str)

  if not isnumeric(a_str) or len(str) ﹥ then

  Is_Int = false

  exit function

  elseif len(str) ﹤ then

  Is_Int = true

  exit function

  end if

  if cint(left(a_str )) ﹥ then

  Is_Int = false

  exit function

  elseif cint(left(a_str )) = and cint(right(a_str )) ﹥ then

  Is_Int = false

  exit function

  else

  Is_Int = true

  exit function

  end if

  end function

  檢測是否是長整數

  function Is_Lng(a_str)

  if not isnumeric(a_str) or len(str) ﹥ then

  Is_Lng = false

  exit function

  elseif len(str) ﹤ then

  Is_Lng = true

  exit function

  end if

  if clng(left(a_str )) ﹥ then

  Is_Lng = false

  exit function

  elseif clng(left(a_str )) = and clng(right(a_str )) ﹥ then

  Is_Lng = false

  exit function

  else

  Is_Lng = true

  exit function

  end if

  end function ASPNET數據類型轉換的相關信息就向你介紹到這裡希望你對ASPNET數據類型轉換有所了解


From:http://tw.wingwit.com/Article/program/net/201311/11803.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.