关键词搜索

源码搜索 ×
×

利用VB.NET Format函数实现四舍五入功能

发布2021-02-09浏览1299次

详情内容

VB.NET经过长时间的发展,很多用户都很了解VB.NET了,这里我发表一下个人理解,和大家讨论讨论。在VB.NET要做到四舍五入的功能应该用VB.NETFormat这个函数,用CInt或CLng都只能取到整数部分,而用VB.NET Format函数可以取到你所指定的小数位数。

 Public Function Round(numAsVariant,nAsLong) As String  
 Round=Format(num,IIf(n>0,"0."&String(n,"0"),"0"))  
 End Function 

    叁数说明:num:欲四舍五入的数值。因为欲四舍五入的数值可能是Double或Single或是其它资料型态,所以这里把num宣告成Variant;如果把num宣告成Double,而欲四舍五入的数值是Single型态,就会出现资料型态不符合的错误;但是把num宣告成Variant则可避免这种错误,或是使用传值呼叫(ByVal)也可避免这种错误。其实我不确定这个观念是否正确,如果有误请来信指正,谢谢。n:取到小数点以下第n位。Round函数传回的是一个字串资料。

    范例:

    Private Sub Command1_Click()  
    Dim a As Double  
    a=1234.56789  
    Debug.Print Fix(a)  
    Debug.Print Int(a)  
    Debug.Print CInt(a)  
    Debug.Print CLng(a)  
    Debug.Print Round(a,0)  
    Debug.Print Round(a,3)
    End Sub 
    
      4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    执行後在VB的即时运算视窗出现以下结果:
    1234

    1234

    1235

    1235

    1235

    1234.568

    Fix和Int是属於无条件舍去,但是他们两者在处理负数的部分仍有些微差异,请自行叁阅VBHelp;CInt和CLng也有四舍五入的功能,但是只能取到整数部分;Format则可以四舍五入到你所指定的小数位数。有一点值得一提的是,VB.NETFormat的第二个叁数使用"0"和"#"的差异:

     format (123.4,".000") '输出123.400  
     format (123.4,".###") ' 输出123.4  
    
    • 1
    • 2

    也就是说:第二个叁数使用"0"的,会自动补上vb.net教程多馀的0,有时候为了编排好看会希望这麽做;使用"#"的则不会自动补上0。

    相关技术文章

    点击QQ咨询
    开通会员
    返回顶部
    ×
    微信扫码支付
    微信扫码支付
    确定支付下载
    请使用微信描二维码支付
    ×

    提示信息

    ×

    选择支付方式

    • 微信支付
    • 支付宝付款
    确定支付下载