![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=1739151273-o4OISFmhwkglrVMJKBZ6ebDx1QKbGuBl-0-a1e0007275170bc8b0010d9d63f1a771)
当左右两个操作元都是整数类型(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=1739151273-iDsCg6yw1WlMItqCQlo5cAfrD1eUO7F7-0-774c126fd8495086e6bdec9f71a467dd)
数值类型还提供了一元的前缀操作符+(unary_+方法)和-(unary_-方法),用于表示数值字面量是正数还是负数,比如-3或+4.0。如果你不给出+或-,那么数值字面量会被当作正数。一元操作符+的存在仅仅是为了和一元的-对应,没有任何作用。一元操作符-还可以用来对变量取负值。例如:
![](https://epubservercos.yuewen.com/E8DF3B/20205397808551606/epubprivate/OEBPS/Images/40272-00-115-2.jpg?sign=1739151273-xyjhg04Ed46F3UQemRztym0V28rdRN5y-0-d2e75d35e8d9b8a24921862084fd46a5)