![Scala编程(第4版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/353/38381353/b_38381353.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
5.5 算术操作
可以通过加法(+)、减法(-)、乘法(*)、除法(/)和取余数(%)的中缀操作符表示法对任何数值类型调用算术方法。以下是一些示例:
![](https://epubservercos.yuewen.com/E8DF3B/20205397808551606/epubprivate/OEBPS/Images/40272-00-114-3.jpg?sign=1738847978-se6yGsUHt9M4nnySwXrVJBTFc8iwgEzy-0-238ea94d7c3839c907e72fa80bc0fc25)
当左右两个操作元都是整数类型(Int、Long、Byte、Short或Char)时,/操作符会计算出商的整数部分,不包括任何余数。%操作符表示隐含的整数除法操作后的余数。
你从浮点数的%得到的余数跟IEEE 754标准定义的不同。IEEE 754的余数在计算时用的是四舍五入,而不是截断(truncating),因此跟整数的余数操作很不一样。如果你确实需要IEEE 754的余数,可以调用scala.math的IEEEremainder,比如:
![](https://epubservercos.yuewen.com/E8DF3B/20205397808551606/epubprivate/OEBPS/Images/40272-00-115-1.jpg?sign=1738847978-nBpkzIK8DsFd1AqXlVIbgmYGo582quyM-0-ccead21a72e6909a3fc6d72ce8884d3f)
数值类型还提供了一元的前缀操作符+(unary_+方法)和-(unary_-方法),用于表示数值字面量是正数还是负数,比如-3或+4.0。如果你不给出+或-,那么数值字面量会被当作正数。一元操作符+的存在仅仅是为了和一元的-对应,没有任何作用。一元操作符-还可以用来对变量取负值。例如:
![](https://epubservercos.yuewen.com/E8DF3B/20205397808551606/epubprivate/OEBPS/Images/40272-00-115-2.jpg?sign=1738847978-5Zc2LrPOiEjcEtd4MtWl8qvOr8vAJFs0-0-53b8f43113c0f80f19b3a2e13a20bf77)