我目前正在Scala工作,並越來越驚訝它有多好。 一位偉大的點,我認爲是如何處理BigDecimal
type.Once定義BigDecimal
你可以使用它幾乎一樣,如果它是Int
或Double
寫BigDecimal計算就好像它只是一個普通的四個算術運算在斯卡拉
val foo:BigDecimal = 0.1
println(foo + 0.2) // 0.3
沒有必要使用.multiply()
或.add()
而只是+
或*
來處理BigDecimal Calculation(我假設BigDecimal
的+
/*
最終會在它內部調用它們)。即使計算變得複雜,也很容易閱讀,除非您必須聲明第一個計算值爲BigDecimal
。
println(0.3 * (BigDecimal(0.1) + 0.2))
我的問題是,我怎麼能寫這樣的代碼?
println(0.3 * (0.1 + 0.2))
我認爲這需要重寫數字類型文字。
在此先感謝。
我同意你展示的「Pimp my library」方法。你甚至可以把它寫成'println(0.3 bd *(0.1 bd + 0.2 bd))',這可能更好看,主觀。 – mattinbits