На основании этого вопроса: Десятичная точка или десятичная запятая в Android Я пытаюсь использовать десятичный разделитель в устройстве. Я использую Kotlin, поэтому мой код выглядит так:
import android.icu.text.DecimalFormatSymbols
DecimalFormatSymbols.getInstance().decimalSeparator // function used in onCreate()
Этот код возвращает ,
, но на устройстве разделитель, используемый, например, в EditText, равен .
. Почему это происходит?
Пример, в котором, как мне кажется, возвращается неправильный результат:
import android.icu.text.DecimalFormatSymbols
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
txtSeparator.text = DecimalFormatSymbols.getInstance().decimalSeparator.toString()
txtTest.text = (1234.5678).toString()
}
}
введите описание изображения здесь
Почему разделитель в первом TextView отличается от разделителя во втором TextView или EditText? Это случается на некоторых языках. В Engli sh это работает, но, например, в Poli sh нет.