如何以特定方式格式化数字?

How can I format numbers in a specific way?

我想格式化我的数字,我想要这些结果。

我试过.toFixed(2),但没有达到预期的效果。

Input     Result
50.000 => 50
50.900 => 50.9
50.940 => 50.94
50.941 => 50.94

类似于 0.## 的格式,但在 JavaScript.

function decimalFunction() {
  console.log('click');
  var myvalue = document.getElementById('myInput').value;
  var decimal = Math.round(myvalue * 100) / 100
  document.getElementById('result').innerHTML  = decimal;
}
<input id="myInput" type="text"/>
<button onclick="decimalFunction()">Submit</button>
<div id="result"></div>

Math.round(inputNumber * 100) / 100

输入: 50.000, 50.900, 50.940, 50.941

输出: 50, 50.9, 50.94, 50.94

你应该可以使用

parseFloat(num.toFixed(2));

  • 最多有两个尾随数字
  • 省略任何多余的尾随零

将您的号码更改为字符串。经过一些字符串操作你可以得到正确的结果

<script language="Javascript">
    var data = 50.947;
    var res = data.toString().substring(0, data.toString().indexOf('.') + 3);
    alert(res);
</script>