新手请教:
我从OPC Server中读取浮点数据,然后放在MSFlexGrid1中显示给用户。如果没有格式设置的情况下:
如果数据为123.45,则MSFlexGrid1中也显示123.45. 
如果数据为0.123,则MSFlexGrid1中显示 .123,前面的0不见了,我喜欢能正确显示0.123然后我试了下用format("0.123","0.##"),则MSFlexGrid1中显示0.12,取了小数点后面2位,尚且接受。
可发现如果是format("123","0.##"),则MSFlexGrid1中显示123. 直接多了个点。
我也不想变成format("123.45","0.0#"),这样在整数的时候,后面又会多个 .和 0我又不想对每个数据进行判断,有没有简单的方法对MSFlexGrid1进行下设置,让其中的浮点数正常显示。
如果可以,也不用对小数点后面进行截取,有多少显示多少,没有,就不显示.
在其他地方设置或者其他任何方法都可以.只要不是特别复杂的.我用了很多MSFlexGrid1,所以希望一劳永逸.非常感谢.

解决方案 »

  1.   


    果然是高手,出手就不一样,在控制面板里改后的确可以.
    我查看了下其他语言的 零起始显示, 大部分是0.7 只有中文(中国)默认是 .7 
    那我想问下,可否调用api函数,在运行客户端程序时候,直接把这个设置改掉,而且保持更改.不弹出对话框.
    因为我觉得改掉这个设置没有太大影响.
    但很想知道,改掉后在什么情况下,会出现反向的影响,也就是什么情况下用 .7格式更合适.
    非常感谢.
      

  2.   

    a = -0.123
    MsgBox FormatNumber(a, 2, vbTrue, vbFalse, vbFalse)
      

  3.   

    sql出库格式化数据,保留两位小数。
      

  4.   


    几乎没有,这个格式应该是早期dos编程的时候,偷懒不打0产生的做法(可能是早时输入要纸带穿孔,非常麻烦吧?)
      

  5.   

    format("0.123","0.00")Format 函数示例
    本示例显示用 Format 函数做格式化输出的不同用法。对于日期分隔号(/),时间分隔号(:),以及 AM/ PM 等文本而言,其真正的显示格式会因计算机上的国际标准不同而有所差异。在开发阶段,日期与时间是以短日期的格式,配合代码的国际标准来显示的。而在运行时,短日期则是根据系统的国际标准而定,而系统的国际标准和代码的国际标准可能并不相同。本示例中是假设国际标准为 English/United States。MyTime 及 MyDate 在开发环境下,使用系统的短日期设置显示出来的。Dim MyTime, MyDate, MyStr
    MyTime = #17:04:23#
    MyDate = #January 27, 1993#' 以系统设置的长时间格式返回当前系统时间。
    MyStr = Format(Time, "Long Time")' 以系统设置的长日期格式返回当前系统日期。
    MyStr = Format(Date, "Long Date")MyStr = Format(MyTime, "h:m:s")   ' 返回 "17:4:23"。
    MyStr = Format(MyTime, "hh:mm:ss AMPM")   ' 返回 "05:04:23 PM"。
    MyStr = Format(MyDate, "dddd, mmm d yyyy")   ' 返回 "Wednesday, Jan 27 1993"。
    ' 如果没有指定格式,则返回字符串。
    MyStr = Format(23)   ' 返回 "23"。' 用户自定义的格式。
    MyStr = Format(5459.4, "##,##0。00")   ' 返回 "5,459.40"。
    MyStr = Format(334。9, "###0。00")   ' 返回 "334.90"。
    MyStr = Format(5, "0。00%")   ' 返回 "500.00%"。
    MyStr = Format("HELLO", "<")   ' 返回 "hello"。
    MyStr = Format("This is it", ">")   ' 返回 "THIS IS IT"。