<span class="Apple-style-span" style="border-collapse: collapse; ">Hello,<div><br></div><div>Where's the data from?  I recently had a similar problem, which was solved by ensuring the data was in floating point format.  I was using data in .csv files.  I opened the file in excel, formatted the columns as a number with a decimal point, and re-saved as a csv... all the formatting was intact and it solved the problem.</div>
<div><br></div><div>Altering the data source might be your best option...if you can!</div><div><br></div></span><br><div class="gmail_quote">On Mon, Apr 20, 2009 at 6:02 PM, BranchingFactor <span dir="ltr"><<a href="mailto:branchingfactor@yahoo.com">branchingfactor@yahoo.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td valign="top" style="font:inherit">Thanks for the quick reply,   Robbi.    I was hoping to avoid the try-and-try-again approach b/c it doesn't extend so nicely to scanning multiple items from a string.  Does Erlang provide any way to read what many other programming languages consider to be the printed representation of a number?<br>
<br>--- On <b>Mon, 4/20/09, Robert Raschke <i><<a href="mailto:rtrlists@googlemail.com" target="_blank">rtrlists@googlemail.com</a>></i></b> wrote:<br><blockquote style="border-left:2px solid rgb(16, 16, 255);margin-left:5px;padding-left:5px">
From: Robert Raschke <<a href="mailto:rtrlists@googlemail.com" target="_blank">rtrlists@googlemail.com</a>><br>Subject: Re: [erlang-questions] fread() for numbers - beginner question<br>To: <a href="mailto:branchingfactor@yahoo.com" target="_blank">branchingfactor@yahoo.com</a><br>
Cc: <a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>Date: Monday, April 20, 2009, 6:57 AM<div><div></div><div class="h5"><br><br><pre>On Mon, Apr 20, 2009 at 10:43 AM, BranchingFactor<br>
<<a href="mailto:branchingfactor@yahoo.com" target="_blank">branchingfactor@yahoo.com</a>>
 wrote:<br>> I'd like to io_lib:fread() a number from a string.  Unfortunately, if<br>I use<br>> "~f" for floating point number, then fread rejects numbers that<br>don't have<br>> fractional parts:<br>
><br>>> io_lib:fread("~f", "1").<br>> {error,{fread,float}}<br>>> io_lib:fread("~f", "1.").<br>> {error,{fread,float}}<br>><br>> (I find this very strange, since both 1 and 1. can be represented in a<br>
> floating point number.)<br>> And if I use "~d" for decimal integers, then fread won't<br>read past the<br>> decimal point:<br>><br>>> io_lib:fread("~d", "1.0").<br>> {ok,[1],".0"}<br>
><br>> What is the easiest way to scan a number from a string in erlang? <br>Ideally<br>> it would scan any number in any input format and return an Erlang object<br>> that satisfied the is_number() predicate.<br>
<br>scan_number(S) -><br>    case io_lib:fread("~f", S) of<br>        {error, _}
 -> io_lib:fread("~d", S);<br>        Result -> Result<br>    end.<br><br>This doesn't handle 16#ffff and friends though. but you can extend it<br>according to you needs.<br><br>And "1." is not a valid Erlang number.<br>
<br>Robby<br></pre></div></div></blockquote></td></tr></tbody></table><br>



      <br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://www.erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://www.erlang.org/mailman/listinfo/erlang-questions</a><br></blockquote></div><br>