如何使用Javascript删除十进制后的数字?

How to remove digits after decimal using Javascript?

我在HTML网页中使用数字。问题是我想要不带小数的数字。

1
2
3
 <!DOCTYPE html>
 <html>
 <head>

//代码脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 function copyText()
 {
 var mynumber=document.getElementById("field1").value;
 alert(mynumber);

  var mytest=parseInt(mynumber);


  }
 
 </head>
 <body>

 Field1: <input type="number" id="field1" value="123.124" /><br />
 <br /><br />
 <button onclick="copyText()">Check Number</button>

 <p>
A function is triggered when the button is clicked. The function copies the text in    Field1 to Field2.
</p>

 </body>
 </html>

/ /结束代码


假设您只想截断小数部分(不舍入),这里有一个较短(且较便宜)的替代方法来替代parseInt()Math.floor()

1
2
var number = 1.23;
var nodecimals = number | 0; // => 1

使用intfloatstring输入的bitwise OR 0行为的进一步示例:

1
2
3
4
5
6
10     | 0 // => 10
10.001 | 0 // => 10
10.991 | 0 // => 10
"10"   | 0 // => 10
"10.1" | 0 // => 10
"10.9" | 0 // => 10


你应该使用javascript的parseInt()


在ES6中,可以使用数学对象中的内置方法trunc

1
 Math.trunc(345.99933)

enter image description here


1
2
3
4
var num = 233.256;
console.log(num.toFixed(0));

//output 233

从数学上讲,使用floor函数最有意义。这将为您提供一个前一个最大整数的实数。

4


您是否尝试使用parseInt获取价值?

尝试:

1
console.log(parseInt(ans7));


返回字符串:

1
(.17*parseInt(prescription.values)*parseInt(cost.value)).toFixed(0);

返回整数:

1
Math.round(.17*parseInt(prescription.values)*parseInt(cost.value));

请记住在分析int时使用基数:

1
parseInt(cost.value, 10)