Printing numbers

*To*: mathgroup at smc.vnet.net*Subject*: [mg54483] Printing numbers*From*: Steve Gray <stevebg at adelphia.net>*Date*: Mon, 21 Feb 2005 03:44:51 -0500 (EST)*Sender*: owner-wri-mathgroup at wolfram.com

1. Can anyone tell me why these results are what they are? Neither answer is what I would expect, which is 10. The two strings are the same length. Print[StringLength[ToString[123.456789]], " ", StringLength[ToString[1234567.89]]]; 7 22 2. Is there a simple, easily available or self-evident way to get numbers printed out such that the total number of spaces occupied by the print before the decimal point is some fixed, user-specified amount, the number of spaces occupied after the decimal point is a different user-specified amount, and the number of spaces following the number is a third user-specified amount. The goal is to easily produce aligned columns of numerical printing, which would seem to be the most trivial task in neat number printing. For example if the function is called fprint, fprint[345.678,4,5,6] would print 4 spaces followed by 5 character positions to the left of the point (00345 or (2 spaces)" 345", specified by another argument), and 6 to its right. So fprint[345.678,4,5,6] would print (4 spaces)(2 spaces)"345.678"(3 spaces), or if desired (4 spaces)(2 spaces)"345.678000"(no spaces), the total taking up 16 positions. Also fprint[-345.678,4,5,6] would print (4 spaces)(1 space)"-345.678"(3 spaces), also taking 16 positions, with the decimal points aligned with the first example. Help is not that helpful, implying that I have to write one or find it somewhere. As I recall, C provides an easy way to do this by setting arguments to Print. Leads would be appreciated. Steve Gray

**Follow-Ups**:**Re: Printing numbers***From:*DrBob <drbob@bigfoot.com>