Scala:使用小数点和千位分隔符以及 2 个小数位打印 Double
Scala: Print Double with decimal and thousands seperator and 2 decimal places
我正在尝试像这样打印一个双打:
val Double = 12591294124.125124
printf("%,2f", Double)
想要的输出:12.591.294.124,13
奇怪的是,当使用“%,2f”时,它不会四舍五入到小数点后两位,而是像这样打印 6:12.591.294.124,125124
有没有办法使用 ,
作为十进制分隔符并四舍五入到 2 位数字?
谢谢!
println(f"$Double%,.2f") // -> 12,591,294,124.13
println(f"$Double%,.2f"
.replace(',', '-')
.replace('.', ',')
.replace('-', '.')) // -> 12.591.294.124,13
您可以选择比利时区域设置来获得此表示:
import java.util.Locale._
val belgiumLocale = getAvailableLocales.filter(_.getDisplayCountry == "Belgium")
.head
val Double = 12591294124.125124
"%,.2f".formatLocal(belgiumLocale, Double)
// 12.591.294.124,13
我正在尝试像这样打印一个双打:
val Double = 12591294124.125124
printf("%,2f", Double)
想要的输出:12.591.294.124,13
奇怪的是,当使用“%,2f”时,它不会四舍五入到小数点后两位,而是像这样打印 6:12.591.294.124,125124
有没有办法使用 ,
作为十进制分隔符并四舍五入到 2 位数字?
谢谢!
println(f"$Double%,.2f") // -> 12,591,294,124.13
println(f"$Double%,.2f"
.replace(',', '-')
.replace('.', ',')
.replace('-', '.')) // -> 12.591.294.124,13
您可以选择比利时区域设置来获得此表示:
import java.util.Locale._
val belgiumLocale = getAvailableLocales.filter(_.getDisplayCountry == "Belgium")
.head
val Double = 12591294124.125124
"%,.2f".formatLocal(belgiumLocale, Double)
// 12.591.294.124,13