Java 带有自定义步长的Kotlin BigDecimal范围

Java 带有自定义步长的Kotlin BigDecimal范围,java,kotlin,count,range,bigdecimal,Java,Kotlin,Count,Range,Bigdecimal,我有一个字符串“1;5;0.5”,它意味着大十进制范围1..5,步长为0.5。因此,我必须将其转换为kotlin范围,并计算元素。这样做: val str = "1;5;0.5" var (from, to, st) = str.split(";").map { it.toBigDecimal() } val numbersWithStep = (from..to step st).count() 但它不起作用。它只适用于整数。还有比使用while cy

我有一个字符串“1;5;0.5”,它意味着大十进制范围1..5,步长为0.5。因此,我必须将其转换为kotlin范围,并计算元素。这样做:

val str = "1;5;0.5"
var (from, to, st) = str.split(";").map { it.toBigDecimal() }
val numbersWithStep = (from..to step st).count()

但它不起作用。它只适用于整数。还有比使用while cycle更简单的元素计数方法吗?

你是说,像一个非常简单的数学

(to - from) / st + 1
只需注意,除法是通过四舍五入完成的。大小数的一个工作示例是:

(to - from).divideToIntegralValue(st) + BigDecimal.ONE

如果这是您的情况,您可能需要检查

您的意思是,像一个非常简单的数学

(to - from) / st + 1
只需注意,除法是通过四舍五入完成的。大小数的一个工作示例是:

(to - from).divideToIntegralValue(st) + BigDecimal.ONE

如果这是您的情况,您可能需要检查

您可以实现自己的BigDecimal级数,请参见此处a您可以实现自己的BigDecimal级数,请参见此处a