【问题标题】:How can I format numbers in a specific way?如何以特定方式格式化数字?
【发布时间】:2015-11-24 19:43:54
【问题描述】:

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

我尝试了.toFixed(2),但没有产生预期的结果。

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

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

【问题讨论】:

标签: javascript number-formatting


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    你应该可以使用

    parseFloat(num.toFixed(2));
    

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

    【讨论】:

    • 你的答案也是正确的,抱歉,我不能将两个答案标记为正确答案,只能 +1 :(
    【解决方案3】:

    把你的号码改成字符串。经过一些字符串操作可以得到正确的结果

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-11
      • 2011-11-06
      相关资源
      最近更新 更多