最近我遇到了一个问题,通过十进制步骤迭代十进制数字,我很想知道,为什么 Kotlin 仅针对Int
,Long
和{{1 }}
据我所知,可能会有一些带小数的警告。但仍然。我们只想要一个开始Char
号码,结束BigDecimal
号码,然后使用BigDecimal
步骤迭代它们。
问:那么,为什么整数不存在任何进展?谢谢。
P.S。:以下是可能实现的示例代码(我获取了Int的源代码并适用于BigDecimal
):
BigDecimal
答案 0 :(得分:1)
正如它在documentation中所说的范围:
浮点数(Double,Float)不定义它们的rangeTo 运算符,以及通用标准库提供的运算符 改为使用可比较的类型:
public operator fun <T: Comparable<T>> T.rangeTo(that: T): ClosedRange<T>
此函数返回的范围不能用于迭代。您 因为你不能使用范围,所以必须使用其他类型的循环。
他们只是没有定义。