2017-09-20 4 views
1

をフォーマットする際に小数点以下の桁数を設定するI Scalaでは、以下のダブルがありますプログラムで

val value: Double = 12.34 

とはそうのように、フォーマットされた値を取得する:

val formatted = f"$value%1.5f" 

は、しかし、私は小数点以下の桁数を設定する必要があります(上記5)をプログラムによって実行します。私はこれを試しましたが、動作しません:

val dec = 8 
val formatted = f"$value%1.decf" 

アイデア?

答えて

2
val value: Double = 12.34 
val dec = 8 
val formatted = s"%1.${dec}f".format(value) // 12.34000000 
1

あなたはDEF、その後に変換し、そのsetScaleとScalaのBigDecimalを使用することができますDouble必要に応じて:

BigDecimal(12.35564126).setScale(5, BigDecimal.RoundingMode.HALF_UP).toDouble 
// res0: Double = 12.35564 
1

どうFMTについて= "%" + N + "F" fmt.format(12.34) あまりにも明らかだ?