Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.graphics.apps.gnuplot > #1161

Re: How to print floats with leading blanks instead of leading zeros using sprintf?

From Hans-Bernhard Bröker <HBBroeker@t-online.de>
Newsgroups comp.graphics.apps.gnuplot
Subject Re: How to print floats with leading blanks instead of leading zeros using sprintf?
Date 2012-05-29 18:33 +0200
Message-ID <a2kc1rF13iU1@mid.dfncis.de> (permalink)
References <3d97629a-6d13-4e42-bb08-9a1d05a569d9@vy7g2000pbc.googlegroups.com> <a2i989FfaaU1@mid.dfncis.de> <b987673d-4d34-4b67-b565-a77ccb766f3c@googlegroups.com>

Show all headers | View raw


On 29.05.2012 04:56, valerasimonov@gmail.com wrote:

[...]
>>> However gnuplot outputs: sprintf(' %3.0f',1)  "001"

>> No, it doesn't.
[...]
> What I want to print is "  1". Do you know how this task can be
> accomplished?

You already knew yourself --- the command you tried did (pretty much)
exactly that.  You just misinterpreted the actual result you saw because
you looked at it in a proportional-font output format.

> About integers you are right again. But doesn't (although with
> warnings) C transform int to float when necessary?

Not in these cases it wouldn't.  Variadic functions don't give the 
compiler the information to apply such transformations automatically. 
So if you tried a stunt like  printf("5.3f", 3) in a C program, you 
would be giving the compiler and/or compiled program a legit excuse to 
do whatever it pleases (the technical term is "undefined behaviour").

But that's rather beside the point, since you're using gnuplot here, not 
C.  Yes, gnuplot is designed to imitate C, but the analogy cannot be 
perfect.  gnuplot will convert automatically from float to integer and 
vice versa, both without a warning.  It can do that because unlike C it 
has information about the type of things even at run time.

Back to comp.graphics.apps.gnuplot | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

How to print floats with leading blanks instead of leading zeros using sprintf? Валерий Симонов <valerasimonov@gmail.com> - 2012-05-28 08:09 -0700
  Re: How to print floats with leading blanks instead of leading zeros using sprintf? sfeam <sfeam@users.sourceforge.net> - 2012-05-28 11:16 -0700
    Re: How to print floats with leading blanks instead of leading zeros using sprintf? Валерий Симонов <valerasimonov@gmail.com> - 2012-05-28 19:33 -0700
      Re: How to print floats with leading blanks instead of leading zeros using sprintf? sfeam <sfeam@users.sourceforge.net> - 2012-05-28 20:48 -0700
        Re: How to print floats with leading blanks instead of leading zeros using sprintf? valerasimonov@gmail.com - 2012-05-29 06:18 -0700
    Re: How to print floats with leading blanks instead of leading zeros using sprintf? valerasimonov@gmail.com - 2012-05-28 20:19 -0700
  Re: How to print floats with leading blanks instead of leading zeros   using sprintf? Hans-Bernhard Bröker <HBBroeker@t-online.de> - 2012-05-28 23:32 +0200
    Re: How to print floats with leading blanks instead of leading zeros using sprintf? valerasimonov@gmail.com - 2012-05-28 19:56 -0700
      Re: How to print floats with leading blanks instead of leading zeros   using sprintf? Hans-Bernhard Bröker <HBBroeker@t-online.de> - 2012-05-29 18:33 +0200
        Re: How to print floats with leading blanks instead of leading zeros using sprintf? valerasimonov@gmail.com - 2012-05-31 05:43 -0700
  Re: How to print floats with leading blanks instead of leading zeros using sprintf? Christoph Bersch <usenet@bersch.net> - 2012-05-29 09:51 +0200
    Re: How to print floats with leading blanks instead of leading zeros using sprintf? valerasimonov@gmail.com - 2012-05-29 06:19 -0700

csiph-web