Format函數(shù)的返回值類型是字符串(只有字符串才有可能保留后面的0),如果把它再賦值給一個數(shù)值變量(比如Single或Double),那么它又變?yōu)閿?shù)值了,后面的0肯定就沒了。換句話說就是Format函數(shù)完全做了無用功!

創(chuàng)新互聯(lián)建站是一家專注于網(wǎng)站建設(shè)、成都網(wǎng)站制作與策劃設(shè)計,西和網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:西和等地區(qū)。西和做網(wǎng)站價格咨詢:028-86922220
Format函數(shù)的作用主要是用來控制輸出格式的,不建議用來轉(zhuǎn)換數(shù)據(jù)的實際格式(比如取整、四舍五入什么的)。取整用Int函數(shù),保留小數(shù)位用Round函數(shù)。
你測試一下下面的語句就清楚了:
Dim num As Single, s As String
num = 1.17
Print Format(num, "0.000") '顯示的將是1.170,說明Format函數(shù)是有效的
s = Format(num, "0.000")
Print s '顯示的也是1.170, 因為s是字符型的,所以后面的0被保留了
num = Format(num, "0.000")
Print num '這次顯示的將是1.17,因為num是數(shù)值型,而小數(shù)中最后面的0對于數(shù)字來說是無意義的,所以那個0就自動沒了。
這是vb6顯示小數(shù)的方式。自己做一個字符串處理函數(shù)吧,如果絕對值小于1,就自動加上一個0。
1)使用Format函數(shù)格式顯示小數(shù)。
Format 函數(shù),返回 Variant (String),其中含有一個表達式,它是根據(jù)格式表達式中的指令來格式化的。
Private?Sub?Form_Click()
Debug.Print?Format(4?/?10,?"0.0000")
Debug.Print?Format(1?/?7,?"0.######")
End?Sub
2)開始菜單-控制面板-時間、語言和區(qū)域-更改日期、時間或數(shù)字格式-其它設(shè)置-零起始顯示-選0.7。
我靠.你這個要求奇葩哦.都是控制一列的數(shù)據(jù)類型.你要這樣.那你數(shù)據(jù)庫就全部定義成雙精度的類型.在讀取的時候.
當前行為第一行的CTYPE(內(nèi)容,De....) 忘記了.這樣你第一行就是帶小數(shù)點的
判斷當前行數(shù)大于1.全部 CTYPE(內(nèi)容,INTEGER) 就可以了. 這樣一來.第二行開的的全部都是整數(shù)型的了
是因為2個DOUBLE 的失準了 浮點數(shù)是存儲方式和其它不一樣,它使用基數(shù)和指數(shù)兩部分存儲,因此計算時會出現(xiàn)誤差。
Dim a As Variant
a = CDec(75.99)-CDec(71.84) 就可以了的
Variant 精度會更好,遇到減法的時候用可保萬無一失
定義類型的時候用 Variant,要轉(zhuǎn)化的時候用 CDec即可
舉個例子
Dim a As Decimal = 1.999
Dim b As Decimal = Math.Round(a, 2)
結(jié)果為b = 2.00
四舍五入保留兩位
網(wǎng)頁題目:vb.net小數(shù)顯示問題的簡單介紹
文章來源:http://chinadenli.net/article40/hchceo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、網(wǎng)站內(nèi)鏈、手機網(wǎng)站建設(shè)、商城網(wǎng)站、域名注冊、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)