各位大侠:
         我用VB开发了一个数值输入框控件,是从系统的TextBox继承来的,但格式化数值时出现如下的问题:
         format(9999999999999999,"###,###,###,###,###,###.00") = 10,000,000,000,000,000.00,显然格
         式化错了,将值加1了,想要的结果为:
         format(9999999999999999,"###,###,###,###,###,###.00") = 9,999,999,999,999,999.00

解决方案 »

  1.   

    加“”可以
    Debug.Print Format("9999999999999999", "###,###,###,###,###,###.00")
      

  2.   

    format处理的实际上是字符串,不是数字。以下引用至,http://www.china-askpro.com/msg14/qa96.shtml,,用VB时,Double和Decimal等一些数据类型中当数据整数部分超过16位时,也就用科学计数表示,给以后使用造成麻烦。请问如何才能使它保留原状,敬请指教,不甚感激! 
    Double型最多精确到16位,而Decimal最多精确到28位。你可以参考下面的例子: 
         Dim n As Variant 
         Dim f As Double 
         
         n = CDec("79228162514264337593543950335") 
         f = n 
         Print n 
         Print Format(f, "Standard")