Я следовал руководству https://kotlinlang.org/docs/tutorials/native/mpp-ios-android.html, затем я успешно создаю папки androidmain, iosmain и commonmain.
Однако, когда я хочу реализовать тип данных BigDecimal в файле commonmain. Это не сработает. Мне нужен десятичный тип данных для валюты.
Как использовать BigDecimal в мультиплатформе Kotlin?
Ответы (1)
В общем коде Kotlin нет поддержки BigDecimal
(пока). Вы можете просмотреть соответствующую ветку
https://discuss.kotlinlang.org/t/multiplatform-bigdecimal-implementation/5631
Вы можете создать собственную реализацию такого класса с ключевыми словами expect
и actual
.
https://kotlinlang.org/docs/reference/platform-specific-declarations.html
Идея заключается в следующем: * вы объявляете объявления expect
для типа BigDecimal
в общем коде * вы используете аннотации actual
на каждой платформе, чтобы предоставить специфичную для платформы реализацию (например, класс JVM BigDecimal)
person
Eugene Petrenko
schedule
22.03.2019