2013-09-21 19 views
43

Javascript中有什么函数可以让你做整数除法,我的意思是在int中得到除法答案,而不是在浮点数中。如何在JavaScript中进行整数除法(在int中获得除法答案不浮点数)?

var x = 455/10; 
// Now x is 45.5 
// Expected x to be 45 

但我想x是45.我试图从数字中消除最后一位数字。

+2

你试过parseInt函数或Math.floor? –

+0

@SB我如何使用parseInt来解决这个问题。 – Nakib

+0

@Nakib,'parseInt(455/10);' – smerny

回答

101
var answer = Math.floor(x) 

我真诚地希望这会帮助未来的搜索者搜索这个常见问题。

+1

感谢我使用它,但无法找到,谢谢:) – Nakib

+13

或者你可以在编辑前总是结束你的答案。 :) – xr280xr

+27

我发现有意思的讽刺,这是我的谷歌搜索如何解决这个问题的最佳答案。 –

6

ECMAScript是JavaScript的规范,没有整数。 JavaScript中的数字是IEEE floating points。你通常必须用某种机制来装箱你的数字来伪造整数数学,但你只是要得到近似值。例如,Dropbox Datastore API为其JavaScript SDK执行此操作,因为API具有int64类型,它尝试跨平台支持。你可以使用其他人已经建立的图书馆。

16
var x = parseInt(455/10); 

的parseInt函数()的函数把字符串,并返回一个整数。

基数参数用于指定其中标号系统 使用,例如,16(十六进制)的一个基数表示该串中的 数量应该从一个十六进制数被解析到一个 十进制数为。

如果省略基数参数,JavaScript的假设:

If the string begins with "0x", the radix is 16 (hexadecimal) 
If the string begins with "0", the radix is 8 (octal). This feature is deprecated 
If the string begins with any other value, the radix is 10 (decimal) 
+5

这是效率低下的,因为它有一个隐含的'number.toString()'调用,并且被'parse'所折服,这与'Math.floor'相比相对昂贵。不保证'parseInt'会接受'number'参数。 – Dai