在sml中将字符串转换为实数

在sml中将字符串转换为实数,sml,Sml,我需要在sml中将字符串类型转换为实类型,而不使用 函数Real.fromString在sml中 例如:输入“12.3”->输出12.3:real尝试real.fromString,其类型为string->real option: val SOME x = Real.fromString "12.3"; 我不想在对话中使用任何外部库 这没有道理。对于初学者来说,真正的模块本身并不是一个外部库,而是每个SML实现应该提供的必需部分(请参阅) 如果您不想使用basis库的任何部分,那么我建议您不要

我需要在sml中将字符串类型转换为实类型,而不使用 函数Real.fromString在sml中


例如:输入“12.3”->输出12.3:real

尝试
real.fromString
,其类型为
string->real option

val SOME x = Real.fromString "12.3";

我不想在对话中使用任何外部库

这没有道理。对于初学者来说,真正的模块本身并不是一个外部库,而是每个SML实现应该提供的必需部分(请参阅)

如果您不想使用basis库的任何部分,那么我建议您不要做任何事情,因为这将使您几乎什么都没有

另一方面,如果您想自己实现它以获得乐趣,那么您必须解析字符串,并在此过程中生成一个实数。basis库使用真正的扫描仪和
StringCvt.scanString
。真正扫描仪的MLton实现大约是245行,不包括辅助功能,如Char模块


如果这是您想要做的,那么看看他们是如何实现它的。否则,只需使用basis库中的函数,这就是它们的用途。

我不想在对话中使用任何外部库