gpt4 book ai didi

scala - 如何为 Double 生成 Scala 范围?

转载 作者:行者123 更新时间:2023-12-05 01:23:00 24 4
gpt4 key购买 nike

我无法为 Double 生成 Scala 范围。

我已经阅读了 StackOverflow 并且有很多片段显示了双倍范围,但这些片段都不适用于我的 Scala REPL 2.13.0

9.474 to 49.474 by 1.0
1d to 1000d by 1d
(1.0 to 2.0 by 0.01)
^
error: value to is not a member of Double

我不能使用 to 和 by 在我的 Scala REPL 中生成双范围的原因是什么

我在使用 Scala 2.13.0 的 macOS

最佳答案

在 Scala 2.12 中,我收到了弃用警告:

scala> 9.474 to 49.474 by 1.0
<console>:12: warning: method to in trait FractionalProxy is deprecated (since 2.12.6): use BigDecimal range instead
9.474 to 49.474 by 1.0

所以也许它在 2.13 中不再受支持。根据警告,您可以执行以下操作:
scala> BigDecimal(9.474) to BigDecimal(49.474) by BigDecimal(1.0)
res6: scala.collection.immutable.NumericRange.Inclusive[scala.math.BigDecimal] = NumericRange 9.474 to 49.474

这也有效:
BigDecimal(9.474) to BigDecimal(49.474) by 1

如果你这样做 .foreach(println)在两个版本中,您都可以看到没有 BigDecimal结果看起来不太好:
9.474
10.474
..
31.474
32.474000000000004
33.474000000000004
...

来自 Release Notes :

Assorted deprecated methods and classes throughout the standard library have been removed entirely.

关于scala - 如何为 Double 生成 Scala 范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57069750/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com