有inttostr,不知道有没有cardinaltostr?

解决方案 »

  1.   

    Cardinal不过是一个正的Integer而已,就使用IntToStr好了!—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————
      

  2.   

    呵呵,cardinal怎么只是正的integer?取值范围都要大一倍
      

  3.   

    Integer -147483648..2147483647 signed 32-bit
    Cardinal 0..4294967295 unsigned 32-bit
    没错,值可能大一倍,但是应该看位数(32-bit)而不是具体多大,明白了吗?—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————
      

  4.   

    function IntToStr(Value: Integer): string; overload;
    function IntToStr(Value: Int64): string; overload;
    实际上不光是Cardinal,IntToStr对于Int64(这可是最大范围的整数了)也是适用的,也就是说适用于所有整数。—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————
      

  5.   

    lxpbuaa(桂枝香在故国晚秋) 说得没错;要是不相信,做个test!
      

  6.   

    很钦佩 lxpbuaa(桂枝香在故国晚秋) 老师
      

  7.   

    谢谢 lxpbuaa(桂枝香在故国晚秋) 的指教。
    能否解释一下为什么都可以用inttostr,如果数字大于2147483647,int不是已经溢出了吗?int64更是如此,不知道inttostr是怎么处理的。再次请教!
      

  8.   

    2147483647不过是一个最大的Integer,而最大的Int64是2^63-1(比2147483647大多了),哪里有溢出阿。
    IntToStr是重載了的,如果大于2147483647会自动调用function IntToStr(Value: Int64): string; 。—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————