我正在尝试打印这样一个双:
val Double = 12591294124.125124
printf("%,2f", Double)
使用想要的输出:12.591.294.124,13
奇怪的是,当使用“%,2f”时,它不会舍入到2位小数,但打印6就像这样:12.591.294.124,125124
有没有办法使用,
作为十进制分隔符并舍入到2位数?
谢谢!
答案 0 :(得分:3)
您可以选择比利时语言环境来获得此代表:
import java.util.Locale._
val belgiumLocale = getAvailableLocales.filter(_.getDisplayCountry == "Belgium")
.head
val Double = 12591294124.125124
"%,.2f".formatLocal(belgiumLocale, Double)
// 12.591.294.124,13
答案 1 :(得分:1)
println(f"$Double%,.2f") // -> 12,591,294,124.13
println(f"$Double%,.2f"
.replace(',', '-')
.replace('.', ',')
.replace('-', '.')) // -> 12.591.294.124,13