Jos*_*bre 21 android decimalformat kotlin
我面临一个问题,我需要用一个数字做一些计算,例如5000,00乘以 ( 1,025^3 )。
所以在这种情况下 5000,00 * (1,025^3) = 5385,45
所以我的问题是,我怎么能格式化数字5385,45要像5.385,45使用十进制格式可能?
我自己尝试过,我做了这段代码,在应用程序中输出 5385,45 但不是5.385,45
var interestValue = (5000,00*(Math.pow(1.025,yearValue)))
val number = java.lang.Double.valueOf(interestValue)
val dec = DecimalFormat("#,00")
val credits = dec.format(number)
vValueInterest.text = credits
Run Code Online (Sandbox Code Playgroud)
for*_*pas 30
这是您需要的格式:
val dec = DecimalFormat("#,###.##")
Run Code Online (Sandbox Code Playgroud)
将打印:
5.384,45
Run Code Online (Sandbox Code Playgroud)
如果您总是需要小数点后的 2 位数字:
val dec = DecimalFormat("#,###.00")
Run Code Online (Sandbox Code Playgroud)
Tre*_*kaz 25
我发现进行此类格式化的“最 Kotlin 风格”的方法是:
"%,.2f".format(Locale.GERMAN, 1234.5678) // => "1.234,57"
"%,.2f".format(Locale.ENGLISH, 1234.5678) // => "1,234.57"
"%,.2f".format(1234.5678) // => "1,234.57" for me, in en_AU
Run Code Online (Sandbox Code Playgroud)
请注意,尽管这是 Kotlin 自己的扩展方法String,但它仍然只适用于 JVM。
对于那些寻求多平台实现的人(就像我一样),mp_stools是一种选择。
小智 17
val num = 1.34567
val df = DecimalFormat("#.##")
df.roundingMode = RoundingMode.CEILING
println(df.format(num))
Run Code Online (Sandbox Code Playgroud)
运行程序时,输出将是:1.34
检查:https : //www.programiz.com/kotlin-programming/examples/round-number-decimal
小智 5
用过的:
%.numberf
fun main(args: Array<String>) {
var A: Double
A = readLine()!!.toDouble()
var bla = A*A
var calculator = 3.14159 * bla
println("A=%.4f".format(calculator))
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41610 次 |
| 最近记录: |