Recent

Author Topic: Format issue  (Read 5099 times)

wp

  • Hero Member
  • *****
  • Posts: 13353
Format issue
« on: August 05, 2012, 06:04:21 pm »
The RTL function "Format" has problems when the format specifier is "%0.9" and the number is between 1e8 and less than 1e9, e.g.

Format('%0.9', [1e8]) --> 1
Format('%0.9', [1.2e8]) --> 12

How's that?

Leledumbo

  • Hero Member
  • *****
  • Posts: 8835
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Format issue
« Reply #1 on: August 05, 2012, 06:41:04 pm »
I think you miss the ArgType part (it's NOT optional AFAIK), I even wonder why it doesn't generate runtime errors.

Blaazen

  • Hero Member
  • *****
  • Posts: 3241
  • POKE 54296,15
    • Eye-Candy Controls
Re: Format issue
« Reply #2 on: August 05, 2012, 06:56:04 pm »
@I even wonder why it doesn't generate runtime errors.

Both give EConvertError here.

There must be something like:
Code: [Select]
Format('%0.9f', [1e8]);
Format('%0.9f', [1.2e8]);
Lazarus 2.3.0 (rev main-2_3-2863...) FPC 3.3.1 x86_64-linux-qt Chakra, Qt 4.8.7/5.13.2, Plasma 5.17.3
Lazarus 1.8.2 r57369 FPC 3.0.4 i386-win32-win32/win64 Wine 3.21

Try Eye-Candy Controls: https://sourceforge.net/projects/eccontrols/files/

wp

  • Hero Member
  • *****
  • Posts: 13353
Re: Format issue
« Reply #3 on: August 05, 2012, 07:27:53 pm »
Sorry, I am embarrassed - I forgot the "g". The first posting should read:

Format('%0.9g', [1e8]) --> 1
Format('%0.9g', [1.2e8]) --> 12

Blaazen

  • Hero Member
  • *****
  • Posts: 3241
  • POKE 54296,15
    • Eye-Candy Controls
Re: Format issue
« Reply #4 on: August 05, 2012, 07:41:21 pm »
Then I cannot confirm here. It formats as expected:
Format('%0.9g', [1e8]);
Format('%0.9g', [1.2e8]);
100000000
120000000
Lazarus 2.3.0 (rev main-2_3-2863...) FPC 3.3.1 x86_64-linux-qt Chakra, Qt 4.8.7/5.13.2, Plasma 5.17.3
Lazarus 1.8.2 r57369 FPC 3.0.4 i386-win32-win32/win64 Wine 3.21

Try Eye-Candy Controls: https://sourceforge.net/projects/eccontrols/files/

wp

  • Hero Member
  • *****
  • Posts: 13353
Re: Format issue
« Reply #5 on: August 05, 2012, 08:04:37 pm »
A windows issue? I am using Win7, FPC 2.6.0 and a recent snapshot of Lazarus.
« Last Edit: August 05, 2012, 08:06:59 pm by wp »

Leledumbo

  • Hero Member
  • *****
  • Posts: 8835
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Format issue
« Reply #6 on: August 05, 2012, 11:50:02 pm »
Since it's part of RTL, it has nothing to do with Lazarus. You might want to check the bugtracker for bugs regarding this function.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 12119
  • Debugger - SynEdit - and more
    • wiki
Re: Format issue
« Reply #7 on: August 06, 2012, 12:51:03 am »
w32:
I get 1 and 12 with fpc 2.6

But it looks ok with 2.4.4 and 2.7.1 (2.7.1 from a while ago)

So it may be fixed already. I haven't tested 2.6.1

Avishai

  • Hero Member
  • *****
  • Posts: 1021
Re: Format issue
« Reply #8 on: August 06, 2012, 02:14:34 am »
It looks fine with 2.6.1
Lazarus Trunk / fpc 2.6.2 / Win32

 

TinyPortal © 2005-2018