@@ -14,12 +14,12 @@ import androidx.compose.ui.unit.dp
1414import com.davidmiguel.numberkeyboard.data.NumberKeyboardData
1515import com.davidmiguel.numberkeyboard.listener.NumberKeyboardClickedListener
1616import com.davidmiguel.numberkeyboard.listener.NumberKeyboardListener
17- import java.math.RoundingMode
1817import java.text.DecimalFormat
1918import java.text.NumberFormat
2019
2120@Composable
2221fun NumberKeyboard (
22+ initialAmount : Double = 0.0,
2323 maxAllowedAmount : Double = 10_000.0,
2424 maxAllowedDecimals : Int = 2,
2525 currencySymbol : String = "$",
@@ -34,7 +34,7 @@ fun NumberKeyboard(
3434 groupingSeparator : Char = (NumberFormat .getNumberInstance() as DecimalFormat ).decimalFormatSymbols.groupingSeparator,
3535 listener : NumberKeyboardListener ? = null
3636) {
37- var amount by remember { mutableStateOf(" " ) }
37+ var amount by remember { mutableStateOf(if (initialAmount != 0.0 ) initialAmount.toInt().toString() else " " ) }
3838
3939 val firstRow: List <Int >
4040 val secondRow: List <Int >
@@ -63,7 +63,7 @@ fun NumberKeyboard(
6363 if (standardisedAmount in 0.0 .. maxAllowedAmount) {
6464 amount + = number
6565 } else {
66- amount = if (roundUpToMax) maxAllowedAmount.toBigDecimal ().setScale(maxAllowedDecimals, RoundingMode . UP ).toString( ) else amount
66+ amount = if (roundUpToMax) maxAllowedAmount.toString ().replace( ' . ' , decimalSeparator ) else amount
6767 }
6868 listener?.onUpdated(NumberKeyboardData (amount, decimalSeparator, groupingSeparator, currencySymbol))
6969 }
0 commit comments