Kotlin Multiplatform Academy · Урок

Общий калькулятор цены и налогов

Инкапсулируйте правила работы с деньгами в одном кроссплатформенном месте

Урок 1 из 413 шагов

«Общий калькулятор цены и налогов» — бесплатный урок Kotlin Multiplatform Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Kotlin Multiplatform Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Kotlin Multiplatform Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Why Money Lives in Shared Code

Price and tax math should live in one shared place so Android and iOS can never disagree on a total. 💰

The Bug You Are Preventing

When each app rounds tax its own way, the same cart shows two prices. A single shared calculator kills that whole class of bug.

Where It Goes

This calculator belongs in commonMain, the source set both platforms compile, so there is exactly one source of truth.

Model the Price First

Start with a tiny data class that holds the amount in plain numbers. Keep it pure Kotlin so it works on every target.

data class Price(val amount: Double, val taxRate: Double)

The Tax Formula

Tax is just the amount times the rate. Expressing it as one function means both apps run the exact same line.

fun tax(amount: Double, rate: Double): Double = amount * rate

Add It to the Total

The total is the base amount plus the tax you just computed. Compose small functions instead of one giant one.

fun total(amount: Double, rate: Double): Double = amount + tax(amount, rate)

Wrap It in a Calculator

Group the rules in a small class so both apps get a clean, named entry point instead of loose functions.

class PriceCalculator {
  fun total(amount: Double, rate: Double) = amount + amount * rate
}

Watch the Rounding

Floating point can drift by a cent. Decide your rounding rule once in shared code so totals are identical everywhere.

fun roundMoney(value: Double): Double = kotlin.math.round(value * 100) / 100

Support Discounts Too

Real carts have discounts. Apply the discount before tax so the saving feels honest to the customer.

fun discounted(amount: Double, off: Double) = amount * (1 - off)

Default Values Help Callers

A sensible default tax rate keeps simple call sites short while still letting either app override it when needed.

fun total(amount: Double, rate: Double = 0.20) = amount + amount * rate

Both Apps Just Call It

Android and iOS each call the same total function. No copied math, no drift, one trusted answer for the price.

val due = PriceCalculator().total(amount = 49.99, rate = 0.18)

Quick Check

Where should the price and tax calculator live in a KMP project?

Recap: One Calculator to Rule Both

You modeled price, computed tax, totaled it, and handled rounding in commonMain. One calculator, zero price drift between apps. ✅

Можно начать бесплатно

Изучай Kotlin с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Общий калькулятор цены и налогов» бесплатный?

Да — полный текст урока «Общий калькулятор цены и налогов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Kotlin Multiplatform Academy, подпишись на CoddyKit PRO. Курс Kotlin Multiplatform Academy содержит 4 уроков всего.

Чему я научусь в уроке «Общий калькулятор цены и налогов»?

Инкапсулируйте правила работы с деньгами в одном кроссплатформенном месте Ты практикуешь Kotlin Multiplatform Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Kotlin Multiplatform Academy?

Предыдущий опыт не требуется. Kotlin Multiplatform Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Общий калькулятор цены и налогов»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Kotlin Multiplatform Academy?

Да. Каждый урок Kotlin Multiplatform Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Общий калькулятор цены и налогов
  2. Форматирование валют и чисел
  3. Бизнес-правила как чистые функции
  4. Не помещайте интерфейс в общий код
← Назад к Kotlin Multiplatform Academy