kotlin двойное с 4 цифрами после запятой в Android - PullRequest
1 голос
/ 26 мая 2020

По умолчанию Double в android kotlin равно 1121.57. Как преобразовать его в 1.121,5767, чтобы получить 4 number after comma? хотя за запятой стоит 0 вот так: 1.121,0000

Ответы [ 3 ]

3 голосов
/ 26 мая 2020

Вы можете написать функцию расширения для Double и использовать немецкий формат для вывода, например:

fun main() {
    val myDouble: Double = 1121.57
    val anotherDouble: Double = 100000.99
    println(myDouble.format(4))
    println(anotherDouble.format(4))
}

fun Double.format(digits:Int) = String.Companion.format(
                                    java.util.Locale.GERMAN,
                                    "%#,.${digits}f",
                                    this
                                )

Он возвращает следующее String

1.121,5700
100.000,9900
0 голосов
/ 26 мая 2020

Обратите внимание на класс BigDecimal . Вы можете легко установить шкалу на 4 цифры, и это можно сделать с помощью Double.

0 голосов
/ 26 мая 2020

, пожалуйста, передайте свое значение следующей функции и дайте мне знать, работает ли она для вас.

fun formattedNumber(number: Double): String{
    val formattedNumber = String.format("%.7f", number)
    val split = formattedNumber.split(".");
    val str = StringBuilder(split[1])
    str.insert(3, ',')
    return "${split[0]}.${str}"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...