dim a as string
dim b as integer
a="1"
b=1
c="1"
d=1
print a>b 'false
print c>d 'true
print "1">1 'false
請問:不同型別資料比較,計算機是如何轉換型別的
不同型別的變體型別比較時,統一轉換為如何種型別
不同型別的常量比較時,統一轉換為如何種型別
uj5u.com熱心網友回復:
a>b 、"1">1 編譯器已經明確運算子兩邊型別,會將 Integer 轉化為 String 進行比較。而 c>d 兩邊型別都是 Variant,是按照統一的 Variant 比較方法進行的。
不知道什么原因,反正當初寫這個比較方法的時候直接規定 String 比 Integer 大。不信你把 c 賦值為 "0" 甚至 "",c>d 始侄訓傳 True。
總之,除了兩個不同型別的變數賦值的時候可以用隱式轉換;其它比較之類的操作最好進行顯式轉換。
uj5u.com熱心網友回復:
學習學習,字符是ASCII碼值來比較uj5u.com熱心網友回復:
不要迷信書、考題、老師、回帖;要迷信CPU、編譯器、除錯器、運行結果。
并請結合“盲人摸太陽”和“駕船出海時一定只帶一個指南針。”加以理解。
任何理論、權威、傳說、真理、標準、解釋、想象、知識……都比不上擺在眼前的事實!
有人說一套做一套,你相信他說的還是相信他做的?
其實嚴格來說這個世界上古往今來所有人都是說一套做一套,不是嗎?
不要寫連自己也預測不了結果的代碼!
uj5u.com熱心網友回復:
型別不一致,會按照這種語法規定的高低,向統一的型別轉換,再比較。字符,按照ASCII碼值比較。uj5u.com熱心網友回復:
這種學法屬于左腳拌右腳,右腳拌左腳. 即使弄明白了也毫無意義. 沒有人會推薦這種代碼的.用顯式的型別轉換, 然后得到清晰無誤解的答案, 那才是真正的效率呀.
就像c/c++里面好多人在那邊炫耀什么++運算子在前在后的奇怪運算式和晦澀不明的結果一樣. 據說統統是要被PM拉出去槍斃五分鐘的.
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/86814.html
標籤:控件
