在瑞典进行格式字符串插值时,在使用十进制数字创建字符串时,我得到的是逗号而不是点:
scala> val a = 5.010
a: Double = 5.01
scala> val a = 5.0101
a: Double = 5.0101
scala> f"$a%.2f"
res0: String = 5,01
我的问题是,如何设置格式才能得到结果
5.01
?我希望能够仅为该字符串设置语言环境,即我不会更改整个环境的语言环境。干杯,
约翰
最佳答案
使用相同的 Java library number formatting support 无障碍
来自 StringOps
enriched String class ,您可以为该输出指定另一个语言环境:
"%.2f".formatLocal(java.util.Locale.US, a)
(如“How to convert an Int to a String of a given length with leading zeros to align?”中所述)
Scala 的方法是使用 string f interpolator (Scala 2.10+),就像在 OP 的问题中一样,但它使用“当前语言环境”,没有提供一种简单的方法来将该语言环境设置为不同的语言环境,仅用于一次调用。
关于string - 带格式的 Scala 字符串插值,如何更改语言环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24780052/