5

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

function copyText() {
  var mynumber = document.getElementById("field1").value;
  alert(mynumber);
  var mytest = parseInt(mynumber);
}
Field1: <input type="number" id="field1" value="123.124" /><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>

4

8 回答 8

24

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

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

和输入bitwise OR 0行为的int更多示例:floatstring

10     | 0 // => 10
10.001 | 0 // => 10
10.991 | 0 // => 10
"10"   | 0 // => 10
"10.1" | 0 // => 10
"10.9" | 0 // => 10
于 2012-09-14T11:40:47.303 回答
9

你应该使用 JavaScript 的parseInt()

于 2012-09-14T11:39:15.233 回答
5

在 ES6 中,您可以使用truncMath Object 的内置方法

 Math.trunc(345.99933)

在此处输入图像描述

于 2016-07-29T12:30:05.690 回答
5
var num = 233.256;
console.log(num.toFixed(0));

//output 233
于 2016-11-24T11:48:16.157 回答
1

返回字符串:

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

返回整数:

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

解析整数时记得使用基数:

parseInt(cost.value, 10)
于 2012-09-14T11:38:52.020 回答
1

从数学上讲,使用floor函数是最有意义的。这给你一个实数到最大的前一个整数。

ans7 = Math.floor(.17*parseInt(prescription.values)*parseInt(cost.value));
于 2012-09-14T11:40:40.003 回答
0

您是否尝试使用parseInt

尝试 :

console.log(parseInt(ans7));
于 2012-09-14T11:40:35.517 回答
0

~~运算符是Math.floor().

function copyText() {
  var mynumber = document.getElementById("field1").value;
  alert(~~mynumber);
}
<fieldset>
  <legend>Field1</legend>
  <input type="number" id="field1" value="123.124" />
  <button onclick="copyText()">Check Number</button>
</fieldset>

于 2020-04-27T06:49:43.777 回答