F#json解析器不识别浮点
我在f#项目中尝试json fsharp.data。 但json解析器似乎无法识别浮动F#json解析器不识别浮点,json,f#,f#-data,Json,F#,F# Data,我在f#项目中尝试json fsharp.data。 但json解析器似乎无法识别浮动 open FSharp.Data type Simple = JsonProvider<""" { "float": 1.0, "int":1, "string": "xxx" } """> let input = Simple.Parse(""" { "float": 12.3, "int":234, "string": "string" } """) print
open FSharp.Data
type Simple = JsonProvider<"""
{ "float": 1.0, "int":1, "string": "xxx" }
""">
let input = Simple.Parse("""
{ "float": 12.3, "int":234, "string": "string" }
""")
printfn "%A %A %A" input.Float input.Int input.String
// the float seems to be read as an int
打开FSharp.Data
类型Simple=JsonProvider
让输入=Simple.Parse(“”)
{“float”:12.3,“int”:234,“string”:“string”}
""")
printfn“%A%A%A”输入。浮点输入。Int输入。字符串
//浮点数似乎被解读为int
我做错了什么?您对
“float”:1.0
属性的示例输入在技术上是一个整数(在数字意义上),即使您在其中放了一个小数位
通常,提供程序支持(并按此顺序优先选择):int
、int64
、decimal
和float
这将使JsonProvider
推断浮动“
为十进制
类型:
type Simple = JsonProvider<"""
{ "float": 1.1, "int":1, "string": "xxx" }
""">
有关如何从JSON示例推断数据类型的更多信息,请参见。我现在尝试:{type Simple=JsonProvider let input=Simple.Parse(“{”float:12.3,decimal:2.34,“int:234,“string”:“string”}”)}现在已正确解析浮点。但是十进制被解析为int,这与文档不同。我现在看到,在我的测试中,它是:“decimal”:1.0这似乎被解释为int。我需要指定:“decimal”:1.1,然后就可以了。
type Simple = JsonProvider<"""
{ "float": 1314814912414812342456456456456456456433333313148149124148123424564564564564564564333333.0, "int":1, "string": "xxx" }
""">