Elm:String.toFloat不';t仅使用逗号和点-怎么办?

Elm:String.toFloat不';t仅使用逗号和点-怎么办?,elm,Elm,我是elm的新手,我想做一个简单的里程计数器应用程序 如果我得到“1.2”(点)表单输入-String.toFloat将以1.2作为数字返回OK分支 但是如果我得到“1,2”(逗号)表单输入,那么String.toFloat在Err分支中返回“不能有单词,只能有数字!” 这就像一个实时验证器。 守则: TypingInInput val -> case String.toFloat val of Ok success ->

我是elm的新手,我想做一个简单的里程计数器应用程序

如果我得到
“1.2”
(点)表单输入-
String.toFloat
将以1.2作为数字返回OK分支

但是如果我得到
“1,2”
(逗号)表单输入,那么
String.toFloat
在Err分支中返回
“不能有单词,只能有数字!”

这就像一个实时验证器。

守则:

TypingInInput val ->
        case String.toFloat val of
            Ok success ->
                { model | inputValue = val, errorMessage = Nothing }

            Err err ->
                { model | inputValue = val, errorMessage = Just "You can't have words, or spaces, only numbers!" } 
   .

问题:那么我如何强制“1,2”的
String.toFloat
给我1.2数字呢?

不幸的是
toFloat
的源代码只硬编码为。在将逗号传递给
toFloat
之前,可以将其替换为字符串中的点,作为解决方法


可用于简单的字符串替换。

不幸的是,
toFloat
的源代码仅硬编码为。在将逗号传递给
toFloat
之前,可以将其替换为字符串中的点,作为解决方法

可用于简单的字符串替换。

的实现仅支持点作为分隔符

在解析
Float

请参见示例:

导入Html(文本)
导入字符串
导入正则表达式
主要=
"1,2"
|>Regex.replace Regex.All(Regex.Regex“,”)(\ \ u->”)
|>String.toFloat
|>托斯特林
|>文本--1.2
在JavaScript中也不支持逗号分隔符。

的实现只支持点作为分隔符

在解析
Float

请参见示例:

导入Html(文本)
导入字符串
导入正则表达式
主要=
"1,2"
|>Regex.replace Regex.All(Regex.Regex“,”)(\ \ u->”)
|>String.toFloat
|>托斯特林
|>文本--1.2

JavaScript中也不支持逗号分隔符。

yes@Chad Gilbert。谢谢,这看起来真漂亮!我这样替换了case语句:的
case String.toFloat(String.Extra.replace“,”val),但我遇到了以下错误:
我找不到模块String.Extra
或者如果我只导入暴露的字符串(..),我得到:
找不到变量String.Extra.replace
,限定符
String.Extra
不在作用域“”中。我不知道怎么解决这个问题。您是如何做到的?从命令行运行此命令:
elm package install elm community/string extra
。非常感谢@Chad Gilbert!我忘记安装了。现在一切正常:)我想你也可以使用
String.map
。是的@Chad Gilbert。谢谢,这看起来真漂亮!我这样替换了case语句:
case String.toFloat(String.Extra.replace“,”val),但我遇到了以下错误:
我找不到模块String.Extra
或者如果我只导入暴露的字符串(..),我得到:
找不到变量String.Extra.replace
,限定符
String.Extra
不在作用域“”中。我不知道怎么解决这个问题。您是如何做到的?从命令行运行此命令:
elm package install elm community/string extra
。非常感谢@Chad Gilbert!我忘记安装了。现在一切正常:)我想你也可以使用
String.map