1樓:網海1書生
function roundup(x as double, k as integer) as double
roundup = int(x * 10 ^ k + 0.9) / 10 ^ k
end function
private sub command1_click()
'用法舉例:
msgbox roundup(123.1111, 1) '1表示保留1位小數,其他類推
end sub
補充一句:關鍵是那個0.9,如果改為0.5就是四捨五入,而0.9就是向上保留
2樓:匿名使用者
vb有round()函式,但是是四捨五入,你的這個需要編寫一個過程或函式:
dim aa as string '模組級變數
private sub command1_click()
dim xx as single, yy as single '過程級變數
xx = val(text1.text)
if aa = "整數" then
if xx / 1 - xx \ 1 >= 0 then '判斷小數部分是否小於0.5
yy = round(xx, 0) + 1
elseif xx / 1 - xx \ 1 < 0 then '判斷小數部分是否大於0.5
yy = round(xx, 0)
end if
elseif aa = "小數" then
if xx / 1 - xx \ 1 >= 0 then '判斷小數部分是否小於0.5
yy = round(xx, 1) + 0.1
elseif xx / 1 - xx \ 1 < 0 then '判斷小數部分是否大於0.5
yy = round(xx, 1)
end if
end if
text2.text = yy
end sub
private sub form_load()
option1(0).value = true
end sub
private sub option1_click(index as integer)
if option1(0).value = true then
aa = "整數"
else
aa = "小數"
end if
end sub
3樓:匿名使用者
第一種辦法:
-(int(-(x*10))/10)
因為int預設是返回一個小於等於原值的數
用兩次負號之後,就能得到向上保留的效果
第二種辦法:
round(x+0.05,1)
也可以得到正確的結果,不要糾結加上的0.05實際對結果不會有任何影響,因為round預設會捨去0.049999...所以結果其實已經減少了0.05
比如:123.09999加上0.05後為123.14999用round(123.14999,1)之後結果為123.1
同理:123.00001換算之後的結果也為123.1
4樓:
只要小數點後面有數字 就直接取整+1 不就行了
5樓:聽不清啊
可以這樣:
int(val(label1.caption)+0.999999)
就可以了。
6樓:論宇之新宇宙觀
dim i as string
dim a as long
i=val(label)*10
a=int(i)
if a=i then
text.text=a/10+1
else
text.text=1/10+0.1
end if
7樓:vb程式設計
a = -int(-val(label) * 10) / 10
如何在vb中設定精度問題,即是保留小數點後的幾位。
8樓:匿名使用者
方法一:
用round函式,語法 :
round(number,num_digits)number 需要進行四捨五入的數字。 num_digits 指定的位數,按此位數進行四捨五入。
示例:'round(需要修改的數字,小數位數)print round(3.1415926, 3)顯示:3.142
方法二:
用format函式,返回variant(string),其中含有一個表示式,它是根據格式表示式中的指令來格式化的。
語法format(expression[,format[,firstdayofweek[,firstweekofyear]]])
format函式的語法具有下面幾個部分:
示例:'round(需要修改的數字,小數位數)print format (3.1415926, "#,###")顯示:3.142
9樓:
用round(1.23455,3)會得到1.235
格式:round(需要修改的數字,小數位數)
vb如何保留2位小數
10樓:匿名使用者
vb用format 函式來實現。
format 函式,返回 variant (string),其中含有一個表示式,它是根據格式表示式中的指令來格式化的。
private sub command3_click()print format(5 / 256, "#.##")end sub
11樓:伍嶽凌一
用format函式控制輸出格式,例如textbox.txt=format (string1,「0.00」),輸出的就是帶兩位小數的格式。
12樓:永恆的愛
四捨五入:1. text1.text=str(format(m/n,#####.##)) m,n 為兩個數,n不等於0
寫這兩種 我沒有在程式上驗證 可能會有錯誤
13樓:匿名使用者
round函式:
round(m,n)返回:m的取n位小數的值
例如round(3.14159,2)返回3.14
14樓:
int(/5 / 256 * 100 + 1 / 2) / 100
上面方法是根據四捨五入的原則保留兩位小數。
15樓:angel的
text1.text=format(5/256+0.005,"0.00")
我太有才了,這個辦法都想的出來 —.—!
16樓:匿名使用者
format(5/256,"0.00%")
17樓:浮世觀禪
用這個函式把
math.round 方法 (decimal, int32)將小數值舍入到指定精度。
名稱空間: system
程式集: mscorlib(在 mscorlib.dll 中)語法visual basic(用法)
dim d as decimal
dim decimals as integerdim returnvalue as decimalreturnvalue = math.round(d, decimals)引數d
型別:system.decimal
要舍入的小數。
decimals
型別:system.int32
返回值中的小數位數(精度)。
返回值型別:system.decimal
精度等於 decimals,最接近 d 的數字。
math.round(3.4666666, 4) 結果是 3.4667.
擴充套件資料:
visual ,basic是一種由微軟公司開發的包含協助開發環境的事件驅動程式語言。從任何標準來說,vb都是世界上使用人數最多的語言——不僅是盛讚vb的開發者還是抱怨vb的開發者的數量。它源自於basic程式語言。
vb擁有圖形使用者介面(gui)和快速應用程式開發(rad)系統,可以輕易的使用dao、rdo、ado連線資料庫,或者輕鬆的建立activex控制元件。程式設計師可以輕鬆的使用vb提供的元件快速建立一個應用程式。
vb中如何設定整數保留小數點後一位小數,小數四捨五入保留兩位小數
18樓:匿名使用者
vba.format(a,"#0.0")'一位小數
vba.format(a,"#0.00")'二位小數
vb 保留小數點
19樓:匿名使用者
使用 format函式來控制,說明如下,
. 強制顯示小數點
format("100123.12",".000") 返回值 100123.120
示例:private sub command1_click()
dim a, b, c
a = 5
b = 6
c = a * b
print format(c, ".00")
end sub
效果如下:
數字型別的格式化
--------------------------------
固定格式引數:
general number 普通數字,如可以用來去掉千位分隔號
format$("100,123.12","general number") 返回值 100123.12
currency 貨幣型別,可新增千位分隔號和貨幣符號
format$("100123.12","currency") 返回值 ¥100,123.12
fixed 格式為帶兩位小數的數字
format$("100123","fixed") 返回值 100123.00
standard 標準,即帶千位分隔號和兩位小數
format$("100123","standard") 返回值 100,123.00
percent 百分數
format$("100123","percent") 返回值 10012300.00%
scientific 科學記數法
format$("100123","scientific") 返回值 1.00e+05
yes/no 當值為0時返回 no,否則返回 yes
format$("100123","yes/no") 返回值 yes
true/false 當值為0時返回 false,否則返回 true
format$("100123","true/false") 返回值 true
on/off 當值為0時返回 off,否則返回 on
format$("100123","yes/no") 返回值 on
自定義格式引數
"" 不進行格式化 返回值 原值
0 佔位格式化,不足補0
format$("100123","0000000") 返回值 0100123
# 佔位格式化,不足時不補0
format$("100123","#######") 返回值 100123
. 強制顯示小數點
format$("100123.12",".000") 返回值 100123.120
% 轉化為百分數,一個%代表乘以100
format$("10.23","0.00%") 返回值 1023.00%
format$("10.23","0.00%%") 返回值 102300.00%%
, 以千為單位格化
format$("10.23",",") 返回值 0
format$("10010.23",",") 返回值 10
format$("10010.23",",0.00") 返回值 10.01
e- e+ e- e+ 顯示為科學記數(要注意格式語句,否則會和e的其它含義相混)
format$(12.5,"0.00e+00") 返回值 1.25e+01
$ 強制顯示貨幣符號
format$("10.23",".00") 返回值 ¥10.23
- + ( ) space 按位置顯示本樣
format$("1234.56","-(0.00)") 返回值 -(1234.56)
\ 轉義符,顯示出特殊符號
format$("1234.56","\#.00") 返回值 #1234.56
"abc" 顯示雙引號 (" ") 之內的字串。如在**中想在 format 中包含一個字串,必須用 chr(34) 將文字括起來(34 為雙引號 ("))
format$(123.45,"ttt") 返回值 ttt
注:當雙引號中的文字包含特殊的引數符號如e,要使用轉義符"\",否則會按e的作用顯示
; 類似多目運算子的作用。
當共有 四 部分時,
當大於0時,按第一部分進行格式化,
當小於0時按第二部分進行格式化,
當等於0時按第三部分進行格式化,
當為null值時,按第四部分進行格式化。如:
format$(0,"0.00;負數;零;空") 返回值 零
當共有 三 部分時,
當大於0時,按第一部分進行格式化,
當小於0時按第二部分進行格式化,
當等於0時按第三部分進行格式化,如:
format$(-10,"0.00;ttt;零") 返回值 ttt
當共有 兩 部分時,
當大於或等於0時,按第一部分進行格式化,
當小於0時按第二部分進行格式化,
format$(-123,"0.00;abc") 返回值 abc
format$(123,"0.00;abc") 返回值 123.00
當共有 一 部分時,按分號左邊進行格式化
1 48保留一位小數是多少,保留一位小數是多少,保留兩位小數是多少
瀛洲煙雨 1.48保留一位小數是 1.5 解析保留一位小數,就是保留到小數點後第一位 根據 四捨五入法得出 1.5 是1.5啊,四捨五入之後得來的 保留一位小數是多少,保留兩位小數是多少 布拉不拉布拉 保留一位小數是保 留至十分位,需要看百分位的數字大小,保留兩位小數是保留至百分位,需要看千分位的數...
1 55 3 8保留一位小數列式計算
1.55 3.8保留一位小數的解約為0.4,即1.55 3.8 0.4。需要先把1.55和3.8都變成它們的10倍之後的數再進行列式計算,即變為15.5 38後再進行計算,15.5 38的列式計算如下圖所示 1 只有被除數是小數的,需要按整數除法計算,而且商的小數點要與被除數的小數點對齊。2 只有除...
630除以7 3保留一位小數等於多少
乜絹 630除以7.3保留一位小數等於86.3。630 7.3 86.30136.86.3 列豎式計算如下 630 7.3 6300 73 86.3.0.01 豎式計算中,餘數是0.1,因為被除數和除數都擴大了10倍,所以餘數月擴大了10倍,正確的餘數應該是0.1縮小10倍,是0.01。擴充套件資料...