Browse thread
[Caml-list] int/float_of_string
- Christophe TROESTLER
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Christophe TROESTLER <debian00@t...> |
| Subject: | [Caml-list] int/float_of_string |
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