int在絕對值上四舍五入,Truncate在靠近0的方向取整,比如:
創新互聯建站自成立以來,一直致力于為企業提供從網站策劃、網站設計、成都做網站、成都網站制作、電子商務、網站推廣、網站優化到為企業提供個性化軟件開發等基于互聯網的全面整合營銷服務。公司擁有豐富的網站建設和互聯網應用系統開發管理經驗、成熟的應用系統解決方案、優秀的網站開發工程師團隊及專業的網站設計師團隊。
Sub?Main()
Dim?d?=?-1.9D
'Dim?I?As?Integer?=?Int(d)?'-2
Dim?I?As?Integer?=?Math.Truncate(d)?'-1
Console.WriteLine(I)
Console.ReadLine()
End?Sub
使用Math.Round(),注意返回值可能為Double或Decimal。
如果取整,第二個參數不填或者填0
默認采用 四舍六入五成雙,如果想四舍五入,請采用MidpointRounding.AwayFromZero作為第三個參數
Dim?數字?As?Double?=?2.45
Dim?r1?As?Double?=?Math.Round(數字,?1,?MidpointRounding.ToEven)?'??r1?=?2.4?四舍六入五成雙
Dim?r2?As?Double?=?Math.Round(數字,?1,?MidpointRounding.AwayFromZero)?'?r2?=?2.5?四舍五入
double是雙精度 有效數值位52位 表示成指數的形式 即指數11位 即表示成
所以180.89305用2進制表示是10110100.1110010010011110111011001011111110110001010110110101
即
180.89305在double中存在的實際數值是
1.01101001110010010011110111011001011111110110001010110110101 *2^7
取小數點后 52位有效值后 等于10進制的180.893049999999998
所及加最后變成了 1808930.99999999998
第一次當然輸出近似值1808931
第二次int函數去掉了小數點后的數int就是只取整數的部位的不是四舍五入 所以少了1
有兩個函數:Int 和 Fix。
Int 定義為返回不大于給定參數的最大整數值,如:
Int(3.9) = 3
Int(3.1) = 3
Int(3) = 3
Int(0) = 0
Int(-3) = -3
Int(-3.1) = -4
Int(-3.9) = -4
Fix 又稱“截尾”函數。
即簡單保留整數部分,如:
Fix(3.9) = 3
Fix(-3.9) = -3
如果需要“四舍五入”,則得巧妙利用 Int 函數:
Int(x + 0.5) 表示四舍五入到個位;
Int(x * 100 + 0.5) * 0.01 表示四舍五入到百分位(小數點后第二位)
Option Explicit On
Option Strict On
Imports System
Module Program
Sub Main()
Dim s As String
Dim strs As String()
Dim fz,fm,n,m,t As Long
Console.Write("請輸入一個小數:")
s=Console.ReadLine().Trim()
strs=s.Split("."C)
fz=CLng(strs(0))
fm=CLng(Math.Pow(10,strs(1).Length))
fz=fz*fm+CLng(strs(1))
n=fz
m=fm
While n Mod m0
t=n Mod m
n=m
m=t
End While
fz\=m
fm\=m
Console.WriteLine("{0}={1}/{2}",s,fz,fm)
Console.Write("Press any key to continue . . . ")
Console.ReadKey(True)
End Sub
End Module
網頁名稱:vb.net除法取整,vb中整數除法的計算法則
分享路徑:http://m.2m8n56k.cn/article26/hoihjg.html
成都網站建設公司_創新互聯,為您提供網站內鏈、外貿網站建設、網站改版、企業建站、、網站導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯