怎么把  .107476  自动改写成 10.8% 呢?因为这个数据是用来表示误差的,所以误差只能放大,不能四舍五入。
所以要做到
1、判断小数后面第4位是不是0,是0的话就改写成10.7%
2、小数后面第4位大于0,就改写成10.8%大家可以帮写一下吗?我写得很累赘,想看看简洁明了的代码?谢谢!

解决方案 »

  1.   

    Private Sub Command1_Click()
        MsgBox Format(CStr(Text1.Text), "0.0%")
    End Sub
      

  2.   

    给你写个函数吧,直接调用就可以了,输入参数为浮点数,返回值为字符串Function FormatFloat(byval FloatIn as Double)
    dim Tmp as double
    FloatIn =FloatIn * 1000
    Tmp =int(FloatIn)
    if Tmp < FloatIn then Tmp=Tmp + 1
    Tmp=Tmp / 10
    FormatFloat = Format(Tmp, "0.0%")
    End Function
      

  3.   

    漏了函数类型说明了,哎改一下:
    Function FormatFloat(byval FloatIn as Double) As String
    好了。
      

  4.   

    CStr(Int( .107476 *1000)/10#) & "%"
    或者
    Format(Int( .107476 *1000)/10#, "0.0%")
      

  5.   

    不好意思,第二个错错了,应该是Format(Int( .107476 *1000)/1000#, "0.0%")
      

  6.   

    都错了,没看清题目,应该是
    CStr(Int( .107476 *1000-0.1)/10+0.1) & "%"
    或者
    Format(Int( .107476 *1000-0.1)/1000+0.001, "0.0%")
      

  7.   

    同意 WallesCai(算了下命,居然说我今年桃花遍地,紫溦星临头!) 的。
      

  8.   

    WallesCai和Random,你们是很认真很热情的人!新年好!祝你们在新的一年里工作顺利,身体倍儿棒,吃饭倍儿香,万事如意!
    希望能交个朋友!My QQ:57458628