tl; dr Ваша программа правильная. Вы пренебрегаете показателем в научной нотации c.
Поскольку данные, которые мы могли использовать, чтобы попытаться показать вам, были на изображении, я пошел дальше и «распечатал» его. И сделал это:
scala> List(6.434636141757189E8, 6.048938092998665E9, 4.08466301816955E9, 2.038557228389767E10).sorted // copied from the first block (before "sorted")
res1: List[Double] = List(6.434636141757189E8, 4.08466301816955E9, 6.048938092998665E9, 2.038557228389767E10)
scala> List(6.434636141757189E8, 4.08466301816955E9, 6.048938092998665E9, 2.038557228389767E10) // copied from the 2nd block (after "sorted:")
res2: List[Double] = List(6.434636141757189E8, 4.08466301816955E9, 6.048938092998665E9, 2.038557228389767E10)
И чтобы подтвердить наши предположения, мы можем провести небольшой эксперимент:
scala> List(6.434636141757189E8, 6.048938092998665E9, 4.08466301816955E9,
2.038557228389767E10).sorted.sliding(2)
.toList.collect{ case List(small, big) => small < big } // (*)
res7: List[Boolean] = List(true, true, true)
QED:)
(*) sliding(2)
:
scala> List(1,2,3,4).sliding(2).toList
res8: List[List[Int]] = List(List(1, 2), List(2, 3), List(3, 4))