错误FS0001:类型'int'与类型'float'不匹配

法哈达什

我有一个正在尝试的简单的温度转换器类。

open System

type Converter() = 
 member this.FtoC (f : float) = (5/9) * (f - 32.0)

 member this.CtoF(c : float) = (9/5) * c + 32.0

let conv = Converter()

54.0 |> conv.FtoC  |> printfn "54 F to C: %A" 

32.0 |> conv.CtoF |> printfn "32 C to F: %A"

我收到以下编译错误

prog.fs(4,46): error FS0001: The type 'float' does not match the type 'int'

prog.fs(4,39): error FS0043: The type 'float' does not match the type 'int'

我想念什么?它会将代码的哪一部分推断为int?

托马斯·佩特里切克(Tomas Petricek)

F#不会自动将整数转换为浮点数,因此您需要:

type Converter() = 
  member this.FtoC (f : float) = (5.0/9.0) * (f - 32.0)
  member this.CtoF(c : float) = (9.0/5.0) * c + 32.0

在你原来的代码5/9是类型intf-32.0类型为float像这样的数值运算符*要求两个参数都具有相同的类型,因此会出现错误。在固定版本中,我使用5.0/9.0,它是类型的float(因为它使用浮点数字文字),因此编译器很高兴。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

错误FS0001:类型'int'与类型'float'不匹配

来自分类Dev

错误FS0001,该函数的类型应为byref <int>

来自分类Dev

错误FS0001:类型'string-> seq <unit>'与类型'seq <'a>'不兼容

来自分类Dev

GLSL | “ float”和“ int”之间的算术运算中类型不匹配

来自分类Dev

类型'int列表-> int'与类型'int'不匹配

来自分类Dev

TypeError:“ Mul”操作的输入“ y”的类型为float32,与参数“ x”的int64类型不匹配

来自分类Dev

Scala类型不匹配单位,而不是Int

来自分类Dev

类型不匹配的[int]和vs [int,.. 0]

来自分类Dev

类型不匹配:预期为Integer但为Float

来自分类Dev

float(int)const的类型特征

来自分类Dev

GLSL 错误:“类型应为 float 或 int”

来自分类Dev

'MatMul' Op 的输入 'b' 的类型 float32 与参数 'a' 的类型 float64 不匹配

来自分类Dev

错误:将默认类型'int * int'应用于类型推断变量时,类型约束不匹配

来自分类Dev

类型不匹配,找到Int必需的字符串

来自分类Dev

类型不匹配:无法从long转换为int

来自分类Dev

Scala-类型不匹配;找到Int,必需的String

来自分类Dev

“类型不匹配:无法将int转换为字节”

来自分类Dev

类型不匹配:无法从double转换为int java

来自分类Dev

类型不匹配; 找到:Int(1)必需:B

来自分类Dev

类型不匹配:无法从int转换为TextView

来自分类Dev

类型不匹配:无法从void转换为int

来自分类Dev

Scala-类型不匹配;找到Int,必需的String

来自分类Dev

类型不匹配,找到Int必需的字符串

来自分类Dev

得到同样的错误 ''a list' 类型与 F# 中的类型 'int' 不匹配

来自分类Dev

错误:类型不匹配:无法使用 Java Xtend 从 (Object)=>int 转换为 int

来自分类Dev

neo4j错误:类型不匹配:预期为Float或Integer,但为Node

来自分类Dev

C ++模板:“参数的类型/值不匹配”和“预期为int的常量类型,为int”

来自分类Dev

Tensorflow TypeError: 'Switch' Op 的输入 'pred' 的类型 float32 与预期的 bool 类型不匹配

来自分类Dev

错误类型与replaceitemvalue不匹配

Related 相关文章

  1. 1

    错误FS0001:类型'int'与类型'float'不匹配

  2. 2

    错误FS0001,该函数的类型应为byref <int>

  3. 3

    错误FS0001:类型'string-> seq <unit>'与类型'seq <'a>'不兼容

  4. 4

    GLSL | “ float”和“ int”之间的算术运算中类型不匹配

  5. 5

    类型'int列表-> int'与类型'int'不匹配

  6. 6

    TypeError:“ Mul”操作的输入“ y”的类型为float32,与参数“ x”的int64类型不匹配

  7. 7

    Scala类型不匹配单位,而不是Int

  8. 8

    类型不匹配的[int]和vs [int,.. 0]

  9. 9

    类型不匹配:预期为Integer但为Float

  10. 10

    float(int)const的类型特征

  11. 11

    GLSL 错误:“类型应为 float 或 int”

  12. 12

    'MatMul' Op 的输入 'b' 的类型 float32 与参数 'a' 的类型 float64 不匹配

  13. 13

    错误:将默认类型'int * int'应用于类型推断变量时,类型约束不匹配

  14. 14

    类型不匹配,找到Int必需的字符串

  15. 15

    类型不匹配:无法从long转换为int

  16. 16

    Scala-类型不匹配;找到Int,必需的String

  17. 17

    “类型不匹配:无法将int转换为字节”

  18. 18

    类型不匹配:无法从double转换为int java

  19. 19

    类型不匹配; 找到:Int(1)必需:B

  20. 20

    类型不匹配:无法从int转换为TextView

  21. 21

    类型不匹配:无法从void转换为int

  22. 22

    Scala-类型不匹配;找到Int,必需的String

  23. 23

    类型不匹配,找到Int必需的字符串

  24. 24

    得到同样的错误 ''a list' 类型与 F# 中的类型 'int' 不匹配

  25. 25

    错误:类型不匹配:无法使用 Java Xtend 从 (Object)=>int 转换为 int

  26. 26

    neo4j错误:类型不匹配:预期为Float或Integer,但为Node

  27. 27

    C ++模板:“参数的类型/值不匹配”和“预期为int的常量类型,为int”

  28. 28

    Tensorflow TypeError: 'Switch' Op 的输入 'pred' 的类型 float32 与预期的 bool 类型不匹配

  29. 29

    错误类型与replaceitemvalue不匹配

热门标签

归档