比如对3.1415926,我只想取小数点后两位,怎么办?
解决方案 »
- 函数问题
- vb 关于list里的计算方式
- VB6的DataReport如何连接数据源,我按照如下代码可以显示DataReport,但没有显示table表?
- 询问高手::如何找到已打开的from 窗体,并执行一个方法
- 自己做的一人简易的网络浏览器,出了点问题请大家帮助一下
- 我设计的datareport报表,为何第一次预览速度要慢一些,要几秒钟,正常吗?第二次就很快了?
- 如何不安装VB能够在系统上安装MSCOMM32.OCX控件,我有一个程序运行时提示找不到此控件
- vb数据库相对路径的设置
- 为了不忘却的纪念....
- 初学VB,不小心把属性窗口拉得有屏幕那么宽,想还原,可是怎么试也没成,请教
- vb程序打不开了,能看代码,看不了对象。不知是那个控件出了问题还是什么原因?
- 请问添加的控件怎么将它置于最前面呢?
text1.Text = Format(text1.text, "#.##")
On Error GoTo err1
'四舍五入函数
Dim lngN As Long '字符总长
Dim lngD As Long '记录小数点位置
Dim lngC As Long '小数位数
Dim sglX As String '小数点后lngW-1位以前的数字
Dim lngX2 As Long '保存lngW位的数字(要保留的小数最未位)
Dim lngX3 As Long '保存lngW+1位的数字(要舍去的小数第一位)
'计算小数点位置
lngD = InStr(sglN, ".")
lngN = Len(sglN)
If lngD = 0 Then
myRound = sglN
Else
sglX = Left(sglN, lngD + (lngW - 1))
lngC = lngN - lngD
If lngC > lngW Then
lngX2 = Mid(sglN, lngD + lngW, 1)
lngX3 = Mid(sglN, lngD + lngW + 1, 1)
If lngX3 > 4 Then lngX2 = lngX2 + 1
If lngW = 1 Then
myRound = sglX & lngX2
Else
myRound = sglX & lngX2
End If
Else
myRound = sglN
End If
End If
Exit Function
err1:
myRound = sglN
End Function
Private Sub Command1_Click()
Dim pi As Single
pi = 3.141592
MsgBox Round(pi, 2)
pi = 3.146592
MsgBox Round(pi, 2) pi = 3.14592
MsgBox Round(pi, 2) pi = 3.13592
MsgBox Round(pi, 2)
End Sub