从变量中删除小数点

时间:2011-04-11 23:34:59

标签: javascript jquery

好吧我知道这可能很容易,但我正在挣扎......我有一系列带小数点和几个零的变量。如何剥离变量使其从1.000变为1?不要认为这很重要,但数字是从xml文件中生成的,我用jquery抓住了...

var quantity = $("QTY",this).text();

提前感谢您的帮助!

10 个答案:

答案 0 :(得分:60)

简单......

Math.round(quantity);

...假设您要将1.7舍入到2。如果没有,请使用Math.floor 1.71

答案 1 :(得分:28)

使用parseInt();

parseInt("1.25");//returns 1
parseInt("1.85");//returns 1
parseInt(1.25);//returns 1
parseInt(1.85);//returns 1

答案 2 :(得分:15)

使用number = ~~number

这是Math.floor()

的最快替代品

答案 3 :(得分:10)

parseInt是最慢的方法 math.floor是第二慢的方法

此处未列出的更快的方法是:

var myInt = 1.85 | 0; myInt = 1;

var myInt = 1.85>> 0; myInt = 1;

在这里完成速度测试: http://jsperf.com/math-floor-vs-math-round-vs-parseint/2

答案 4 :(得分:5)

使用Math.trunc() 它完全符合你的要求。它会删除小数

答案 5 :(得分:1)

你不需要jQuery。

你可以使用parseInt就好了。从页面:

document.write(parseInt("10.33") + "<br />"); // 10

答案 6 :(得分:1)

为了将数字四舍五入到最接近的整数,您可以使用Math.round(),如下所示:

Math.round("1.000"); // Will produce 1
Math.round(123.4234); // Will produce 123

答案 7 :(得分:0)

这是另一个很好的例子:

我经常使用Math.round toLocateString将包含小数位的数字转换为更易读的字符串,并带有千位分隔符:

var myNumberAsString = "1234567.890123"              //  "1234567.890123"
var myNumber = Math.round(0.0 + myNumberAsString);   //  1234568
return myNumber.toLocaleString();                    //  "1,234,568"

我在从JSON Web服务加载十进制值时发现这很有用,并且需要在网页上以更友好的格式显示它们(当然,我不需要显示所有的小数位。)

答案 8 :(得分:0)

更快,更有效的方法是使用JavaScript的bitwise operators,如下所示:

|

0s(OR运算符)会将数字视为 32位(二进制1svideo { width: 100%; z-index: 1; position: fixed; }),然后根据需要返回所需的结果在操作数上,在这种情况下会导致整数剥离所有小数位。

答案 9 :(得分:0)

我建议您使用一种叫做Math.trunc()的东西...将您的数字放在括号中。我不建议您使用Math.round()的原因是,它可能会更改十进制数字的整数部分,尽管您知道要获取{最接近的整数。