使用 Scala formatLocal 将 null 格式化为空白
Format null as blank with Scala formatLocal
我们正在使用 "%,.2f".formatLocal(locale, value)
。不幸的是 value
可以为空,然后它会打印 nu。如果 value
为空,我们根本不希望它打印任何内容。是否有 Scala 成语?
对于可能没有有意义的值的变量,Scala 惯用法是 Option
。您可以使用 Option.apply
:
将可能 null
的对象转换为 Option
Option(3.14f : java.lang.Float) //Some(3.14)
Option(null : java.lang.Float) //None
然后您可以使用惯用的 Option
方法,如 foreach
、map
、fold
和 getOrElse
以获得所需的效果:
val myOptionString = myOptionFloat.map("%,.2f".formatLocal(locale, _))
myOptionString.foreach(println) //only print if the Float is not null
val myString = myOptionString.getOrElse("") //empty string if the Float is null
或一起打印:
Option(myFloat).foreach(value => println("%,.2f".formatLocal(locale, value))
并用于存储:
Option(myFloat).fold("")("%,.2f".formatLocal(locale, _))
我们正在使用 "%,.2f".formatLocal(locale, value)
。不幸的是 value
可以为空,然后它会打印 nu。如果 value
为空,我们根本不希望它打印任何内容。是否有 Scala 成语?
对于可能没有有意义的值的变量,Scala 惯用法是 Option
。您可以使用 Option.apply
:
null
的对象转换为 Option
Option(3.14f : java.lang.Float) //Some(3.14)
Option(null : java.lang.Float) //None
然后您可以使用惯用的 Option
方法,如 foreach
、map
、fold
和 getOrElse
以获得所需的效果:
val myOptionString = myOptionFloat.map("%,.2f".formatLocal(locale, _))
myOptionString.foreach(println) //only print if the Float is not null
val myString = myOptionString.getOrElse("") //empty string if the Float is null
或一起打印:
Option(myFloat).foreach(value => println("%,.2f".formatLocal(locale, value))
并用于存储:
Option(myFloat).fold("")("%,.2f".formatLocal(locale, _))