Mod 運算子- Visual Basic

文章推薦指數: 80 %
投票人數:10人

這包括不帶正負號的和浮點數類型和 Decimal 。

結果. 結果是除以之後的餘數 number1 number2 。

例如,運算式會 14 Mod 4 評估為 ... 跳到主要內容 已不再支援此瀏覽器。

請升級至MicrosoftEdge,以利用最新功能、安全性更新和技術支援。

下載MicrosoftEdge 其他資訊 目錄 結束焦點模式 儲存 編輯 共用 Twitter LinkedIn Facebook 電子郵件 WeChat 目錄 Mod運算子(VisualBasic) 09/27/2021 K o y S 此頁面有所助益嗎? 請為您的體驗評分 Yes No 還有其他意見反應嗎? 系統會將意見反應傳送給Microsoft:按下[提交]按鈕,您的意見反應將用來改善Microsoft產品和服務。

隱私權原則。

送出 謝謝。

本文內容 將兩個數字相除,然後只傳回餘數。

Syntax result=number1Modnumber2 組件 result 必要。

任何數值變數或屬性。

number1 必要。

任何數值運算式。

number2 必要。

任何數值運算式。

支援的類型 所有數值類型。

這包括不帶正負號的和浮點數類型和Decimal。

結果 結果是除以之後的餘數number1number2。

例如,運算式會14Mod4評估為2。

注意 數學中的餘數和模數之間有差異,而且負數有不同的結果。

VisualBasic中的Mod運算子、.NETFrameworkop_Modulus運算子和基礎的remIL指令全都會執行餘數運算。

作業的結果Mod會保留被除數為的正負號,number1因此它可能是正數或負數。

結果一律在範圍(-number2、number2)、獨佔。

例如: PublicModuleExample PublicSubMain() Console.WriteLine($"8Mod3={8Mod3}") Console.WriteLine($"-8Mod3={-8Mod3}") Console.WriteLine($"8Mod-3={8Mod-3}") Console.WriteLine($"-8Mod-3={-8Mod-3}") EndSub EndModule 'Theexampledisplaysthefollowingoutput: '8Mod3=2 '-8Mod3=-2 '8Mod-3=2 '-8Mod-3=-2 備註 如果number1或number2為浮點值,則會傳回相除的浮點餘數。

結果的資料類型是最小的資料類型,可保存與和資料類型相除產生的所有可能值number1number2。

如果number1或number2評估為Nothing,則會將其視為零。

相關運算子包括下列各項: \運算子(VisualBasic)會傳回部門的整數商。

例如,運算式會14\4評估為3。

/運算子(VisualBasic)會傳回完整商(包括餘數)作為浮點數。

例如,運算式會14/4評估為3.5。

嘗試除以零 如果number2評估為零,則運算子的行為Mod取決於運算元的資料類型: DivideByZeroException如果number2無法在編譯時期判斷,整數除法會擲回例外狀況,BC30542Divisionbyzerooccurredwhileevaluatingthisexpression如果在number2編譯時期評估為零,則會產生編譯時期錯誤。

浮點數除法會傳回Double.NaN。

對等公式 運算式aModb相當於下列其中一個公式: a-(b*(a\b)) a-(b*Fix(a/b)) 浮點數不精確 當您使用浮點數時,請記住它們不一定會在記憶體中有精確的十進位標記法。

這可能會導致特定作業的非預期結果,例如值比較和Mod運算子。

如需詳細資訊,請參閱疑難排解資料類型。

多載化 可以多載Mod運算子,這表示類別或結構可以重新定義其行為。

如果您的程式碼Mod會套用至包含這類多載之類別或結構的實例,請務必瞭解其重新定義的行為。

如需詳細資訊,請參閱OperatorProcedures。

範例1 下列範例會使用Mod運算子來將兩個數字相除,然後只傳回餘數。

如果任一個數位為浮點數,則結果為代表餘數的浮點數。

Debug.WriteLine(10Mod5) 'Output:0 Debug.WriteLine(10Mod3) 'Output:1 Debug.WriteLine(-10Mod3) 'Output:-1 Debug.WriteLine(12Mod4.3) 'Output:3.4 Debug.WriteLine(12.6Mod5) 'Output:2.6 Debug.WriteLine(47.9Mod9.35) 'Output:1.15 範例2 下列範例示範浮點運算元的潛在不精確。

在第一個語句中,運算元是Double,而0.2是具有0.20000000000000001儲存值的無限重複二進位分數。

在第二個語句中,常數值型別字元會D強制兩個運算元都Decimal是,而0.2則有精確的標記法。

firstResult=2.0Mod0.2 'Doubleoperationreturns0.2,not0. secondResult=2DMod0.2D 'Decimaloperationreturns0. 另請參閱 Int Fix 算術運算子 VisualBasic中的運算子優先順序 依功能列出運算子 疑難排解資料類型的問題 VisualBasic的算術運算子 \運算子(VisualBasic) 本文內容



請為這篇文章評分?