Я создаю числовой формат, чтобы не возвращать строки с десятичными числами, например:
val numberFormat = NumberFormat.getCurrencyInstance().apply {
minimumFractionDigits = 0
}
1.Если я вызываю формат, он возвращает нормально
numberFormat.format(123) // "$123"
2.Если я вызываю parse с другим значением
numberFormat.parse("$333") // a number -> 333
3.И снова вызовите форматирование с 123, возвращаемое значение содержит десятичные дроби! формат изменился! .
numberFormat.format(123) // "$123.00"
Почему?Что мы можем сделать, чтобы он всегда возвращался с format
без десятичных знаков, таких как 1. ?
Я сделал репо, чтобы воспроизвести его: https://github.com/danielgomezrico/test-numericformat-format-parse-error-sample.
Похожеэто происходит только на Android, а не в Java.
Посмотрите на MainActivity.kt