VB-VB.NET中 从字符串“XX”到类型“Double”的转换无效
生活随笔
收集整理的這篇文章主要介紹了
VB-VB.NET中 从字符串“XX”到类型“Double”的转换无效
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?? 最近在做一個vb.net寫的一個網站,有一次同學有個問題問我,說程序總是拋出“從字符串“aa”到類型“Double”的轉換無效”的錯誤。我過去一 看是個操作數據庫的函數,我一開始想到的就是給參數賦值賦錯了,引發的數據庫的錯誤。然后就是一通找數據庫錯誤,但是找了半天發現寫庫的操作沒有這問題, 百思不得其解,數據庫根本就沒有Double類型的字段但是它卻拋出這個錯誤來,真是奇怪。
????后來逐行調試看了程序發現程序是錯在一個數字型的變量和一個字符型的變量的連接上,我就不貼出原程序了,現簡化如下:????
????Dim iTemp As Integer = 3
????Dim strTemp As String = "aa"
????Response.Write(strTemp + iTemp)
????這樣邏輯的語句我們在C#里經常寫,在C#里書寫如下:
????string strTemp = "aa";
????int iTemp = 3;
????Response.Write(strTemp + iTemp);
????后來逐行調試看了程序發現程序是錯在一個數字型的變量和一個字符型的變量的連接上,我就不貼出原程序了,現簡化如下:????
????Dim iTemp As Integer = 3
????Dim strTemp As String = "aa"
????Response.Write(strTemp + iTemp)
????這樣邏輯的語句我們在C#里經常寫,在C#里書寫如下:
????string strTemp = "aa";
????int iTemp = 3;
????Response.Write(strTemp + iTemp);
????在C#里同樣的程序卻不會拋出這個“從字符串“aa”到類型“Double”的轉換無效”的錯誤。
????VB.net 和 C#到底相差在哪里呢?
????一 個字符串型的變量和一個數值型的變量相加,C#會將數值型的變量隱式轉換成字符型的然后在將字符型的數據連接起來,可是同樣的問題VB.net卻是將一個 字符型的轉化成數值型的,在這個轉化過程中,系統會先將字符型的和數值型的都向更高精度的數據類型(Double)轉化。但是整型的數據轉化成 Double的數據不會出問題,但是字符型的數據轉化成Double型的就會出問題了,就會拋出那個“從字符串“aa”到類型“Double”的轉換無 效”的錯誤了。
vb.net中有連接運算符"&"和"+"
+? 加連接符? 如果兩個操作數為String就把這兩個操作數連接成一個字符串,否則按加號處理。
&? 連接符???將操作數據強行轉換成String再進行連接運算。
轉載于:https://www.cnblogs.com/homezzm/archive/2009/11/30/1613428.html
總結
以上是生活随笔為你收集整理的VB-VB.NET中 从字符串“XX”到类型“Double”的转换无效的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么中文版软件可以操作mysql_一款软
- 下一篇: 创建 WPF 不规则窗口