Str := Format(’%*.*f’, [10,5,12]);
之前找了个Format函数的详解看了下,基本的函数用法都能理解了。但*号表示的意义不明白。望高人指点,拜谢拜谢。

解决方案 »

  1.   

    文件格式:*.*代表all,所有格式的文件。
    文件格式:*.txt代表所有txt格式文件。
    str:=Format(’%*.*f’, [10,5,12]);
    代表转换为浮点型。
    两个字:通理
      

  2.   

     str:=Format(’%*.*f’, [10,5,12]);//在delphi7下运行报错,参数有问题,应为浮点型
    Str := Format('%*.*f', [10.1,5.1,12.2]);//str为12 为什么??
      

  3.   

    str:=Format(’%*.*f’, [10,5,12]);//在delphi7下运行报错,参数有问题,应为浮点型
    答:不仅是delphi7下运行报错,在哪都报错。第三个参数12应该是浮点型。Str := Format('%*.*f', [10.1,5.1,12.2]);//str为12 为什么??
    答:因为第二个参数是表示精度的,该值应该为整数,你写成了5.1则失效,效果等同于
    Str := Format('%*.*f', [10.1,0,12.2]);
    所以为12,
    附带送你一个,当第二个参数小于0时,输出的是12.20,
    这是因为第二个参数小于0时,将自动以为默认的2进行Format.
    如果还有问题,请参考Delphi的IDE  HELP(即F1)
      

  4.   

    str:=Format('%*.*f', [10,5,12.123]);
    第1个*是要用第1个参数10来指定总长度
    第2个*是要用第2个参数5来指定小数点后长度
    第3个参数12.123才指定了真正要输出的内容
      

  5.   

    其实,真正未明白的问题是:
    format支持指定参数的序号来使用,如%3:*.*f
    这种情况下,参数(内容和长度)的顺序会怎么样?
    如何为长度(*)指定采用参数的序号?
      

  6.   

    format支持指定参数的序号来使用,如%3:*.*f妈呀,这是错的。