C#中的除法運(yùn)算符與VB.NET中的除法運(yùn)算符
VB.NET中的除法運(yùn)算符有兩個(gè):/(浮點(diǎn)除法)、\(整數(shù)除法)
C#中的除法運(yùn)算符只有一個(gè):/(除法)
VB.NET中的除法運(yùn)算符與C#中的除法運(yùn)算符存在很大的差異,使用時(shí)注意區(qū)分。
關(guān)于VB.NET中的除法運(yùn)算符的介紹(摘自MSDN):
/(浮點(diǎn)除法):將兩個(gè)數(shù)相除并返回以浮點(diǎn)數(shù)表示的結(jié)果。
所得結(jié)果的數(shù)據(jù)類型取決于操作數(shù)的類型。 下表顯示如何確定結(jié)果的數(shù)據(jù)類型。
操作數(shù)數(shù)據(jù)類型 |
結(jié)果數(shù)據(jù)類型 |
兩個(gè)表達(dá)式都是整數(shù)數(shù)據(jù)類型(SByte、Byte、Short、UShort、Integer、UInteger、Long、ULong) | Double |
一個(gè)表達(dá)式為 Single 數(shù)據(jù)類型,而另一個(gè)表達(dá)式不為 Double |
Single |
一個(gè)表達(dá)式為 Decimal 數(shù)據(jù)類型,而另一個(gè)表達(dá)式不為 Single 或 Double |
Decimal |
任一表達(dá)式為 Double 數(shù)據(jù)類型 | Double |
Boolean | SByte | Byte | Short | UShort | Integer | UInteger | Long | ULong | |
Boolean | Boolean | SByte | Short | Short | Integer | Integer | Long | Long | Long |
SByte | SByte | SByte | Short | Short | Integer | Integer | Long | Long | Long |
Byte | Short | Short | Byte | Short | UShort | Integer | UInteger | Long | ULong |
Short | Short | Short | Short | Short | Integer | Integer | Long | Long | Long |
UShort | Integer | Integer | UShort | Integer | UShort | Integer | UInteger | Long | ULong |
Integer | Integer | Integer | Integer | Integer | Integer | Integer | Long | Long | Long |
UInteger | Long | Long | UInteger | Long | UInteger | Long | UInteger | Long | ULong |
Long | Long | Long | Long | Long | Long | Long | Long | Long | Long |
ULong | Long | Long | ULong | Long | ULong | Long | ULong | Long | ULong |
如果 \ 運(yùn)算符兩個(gè)操作數(shù)中的任何一個(gè)為 Decimal、Single 或 Double,則 Visual Basic 在運(yùn)算前會嘗試將其轉(zhuǎn)換為 Long,并且運(yùn)算的結(jié)果數(shù)據(jù)類型為 Long。如果 Option Strict 為 On,將產(chǎn)生編譯器錯(cuò)誤。 如果 Option Strict 為 Off,若值超出 Long 數(shù)據(jù)類型 (Visual Basic) 的范圍,則可能會產(chǎn)生 OverflowException。 轉(zhuǎn)換為 Long 也服從“四舍六入五成雙”。如果除數(shù)或被除數(shù)計(jì)算結(jié)果等于 Nothing,則將其視為零。
關(guān)于C#中的除法運(yùn)算符的介紹(摘自MSDN):
/(除法): 將兩個(gè)數(shù)相除并返回除數(shù)和被除數(shù)的數(shù)據(jù)類型中精度高的數(shù)據(jù)類型。
執(zhí)行除法前,編譯器會將除數(shù)和被除數(shù)的數(shù)據(jù)類型統(tǒng)一成兩者類型中精度高的數(shù)據(jù)類型。返回的運(yùn)算結(jié)果的類型也是兩者類型中精度高的數(shù)據(jù)類型。例如:兩個(gè)整數(shù)相除的結(jié)果始終為一個(gè)整數(shù)。 一個(gè)整數(shù)和一個(gè)Double型相除,返回結(jié)果為Double型。但是需要注意一點(diǎn),Double和Decimal不能直接進(jìn)行算術(shù)運(yùn)算,必須先顯式的將兩者類型進(jìn)行統(tǒng)一,之后才能進(jìn)行運(yùn)算,Double和Decimal不能直接進(jìn)行運(yùn)算的原因是兩者之間不能進(jìn)行隱式的類型轉(zhuǎn)換。
相關(guān)文章
時(shí)間戳與時(shí)間相互轉(zhuǎn)換(php .net精確到毫秒)
本文給大家分享的時(shí)間戳與時(shí)間相互轉(zhuǎn)換(php .net精確到毫秒) ,感興趣的朋友一起學(xué)習(xí)吧2015-09-09C#(.Net)將非托管dll嵌入exe中的實(shí)現(xiàn)
本文主要介紹了C#(.Net)將非托管dll嵌入exe中的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12C# Distinct和重寫IEqualityComparer時(shí)要知道的二三事
這篇文章主要給大家介紹了關(guān)于C# Distinct和重寫IEqualityComparer時(shí)要知道的二三事,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06