caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] int/float_of_string
@ 2003-06-20 17:35 Christophe TROESTLER
  2003-06-23  7:55 ` Frederic van der Plancke
  2003-06-24  6:53 ` Pierre Weis
  0 siblings, 2 replies; 3+ messages in thread
From: Christophe TROESTLER @ 2003-06-20 17:35 UTC (permalink / raw)
  To: O'Caml Mailing List

Hi,

I noticed that there are some disparities in the way string are
converted to int/float :

        Objective Caml version 3.06+36 (2003-06-19)

# int_of_string "34\000xx";;
- : int = 34
# float_of_string "34\000xx";;
Exception: Failure "float_of_string".

Is this intentional?  I suppose it is not and float_of_string does the
right thing.

On a related note, it seems that the only way to decode an int/float
within a string is to create a new string containing the substring.
Moreover one must know the length of the number in advance.  Wouldn't
it be useful to have primitives like:

int_of_string_at : string -> int -> (int, int)
float_of_string_at : string -> int -> (int, float)

with usage like 

let (pos_after_the_number, decoded_number) = float_of_string_at s start

?  (I know such thing can be done with Scanf but I believe such
primitives can simplify and speed up¹ Scanf with no slowdown on
int_of_string / float_of_string.)

Cheers,
ChriS


---
¹ For what simple minded benchs worth, int_of_string can be as much as
1000% faster than Scanf.

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2003-06-24  6:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-06-20 17:35 [Caml-list] int/float_of_string Christophe TROESTLER
2003-06-23  7:55 ` Frederic van der Plancke
2003-06-24  6:53 ` Pierre Weis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).