如何在 JavaScript 中使用模运算符 (%)? [复制]
Posted
技术标签:
【中文标题】如何在 JavaScript 中使用模运算符 (%)? [复制]【英文标题】:How can I use modulo operator (%) in JavaScript? [duplicate] 【发布时间】:2013-05-06 12:19:19 【问题描述】:如何在 javascript 项目的数字计算中使用模运算符 (%)?
【问题讨论】:
【参考方案1】:余数运算符,用于取整数除法后的余数。很多语言都有。例如:
10 % 3 // = 1 ; because 3 * 3 gets you 9, and 10 - 9 is 1.
显然它与modulo operator 完全不同。
【讨论】:
您可以将3
恰好放入 9 中的 3 次。如果您将 3 再与 9 相加,您将得到 12。但您是在除以 10,所以您说它是 3乘以 9,余数为 1。这就是模数得到的结果。
我觉得这样解释比较好:Modulo是除以一个值时剩下的差。您可以使用它来计算包含项目的列表,例如:10 % 10 给您 0。当它为 0 时,您知道列表中有 10 个项目。例如 20 % 10 给你相同的值,0,列表中的另外 10 项......
JS AFAIK 中没有“整数除法”运算符; 10 / 3
将导致 3.333...
。您需要截断分数,例如使用Math.floor()
。
@Lucero 你是对的,我从来没有意识到这一点!我只是假设它使用了许多语言中可用的相同基本运算符。
@MDeSchaepmeester,嗯,它使用了与其他语言相同的基本运算符,但它缺少特定的整数原语。 JS 本身只有浮点数的“数字”原语,因此也没有纯整数运算符。【参考方案2】:
那就是modulo operator,它产生两个数字相除的余数。
【讨论】:
在类 C 语言(包括 JavaScript)中,%
是余数运算符,而不是模数/模数。它们对于正值是等价的,但对于负值是不同的。
否决这个答案,因为它不会为这个对话添加任何有用的东西。以上是关于如何在 JavaScript 中使用模运算符 (%)? [复制]的主要内容,如果未能解决你的问题,请参考以下文章