Raphael TEYSSANDIER
06/11/2024, 8:17 AMdouble
in string
in multiplatform without having 'E+' ?joseph_ivie
06/11/2024, 4:44 PMinline fun Double.toStringNoExponential(): String {
val preDecimal = toLong().toString()
val r = rem(1)
if(r == 0.0) return preDecimal
val availableDigits = 12 - preDecimal.length
val postDecimal = r.times(10.0.pow(availableDigits)).roundToInt()
if(postDecimal == 0) return preDecimal
else return preDecimal + "." + postDecimal.toString().padStart(availableDigits, '0').trimEnd('0')
}
fun Double.commaString(): String {
val clean = this.toStringNoExponential().filter { it.isDigit() || it == '.' }
val preDecimal = clean.substringBefore('.').reversed().chunked(3) { it.reversed() }.reversed().joinToString(",")
val postDecimal = clean.substringAfter('.', "")
return if (clean.contains('.')) "$preDecimal.$postDecimal" else preDecimal
}
Not exactly pretty, but it did work for my caseRaphael TEYSSANDIER
06/12/2024, 8:53 AM