JavaScript显示浮点数到小数点后两位

2020/10/02 19:21 · javascript ·  · 0评论

我想显示一个数字到小数点后两位。

我以为可以toPrecision(2)在JavaScript中使用。

但是,如果数字是0.05,我得到0.0500我希望它保持不变。

JSbin上看到它

做这个的最好方式是什么?

我可以考虑编写一些解决方案,但是我想(我希望)内置类似的东西吗?

float_num.toFixed(2);

注意:toFixed()如果需要满足指定的长度,将舍入或填充零。

您可以使用该toFixed函数来完成此操作,但在IE中却存在问题如果您需要可靠的解决方案,请在此处查看我的回答

尝试toFixed代替toPrecision

不知道我是怎么解决这个问题的,但是即使被问到已经有很多年了,我还是想添加一个快速而简单的方法,并且它永远不会让我失望:

var num = response_from_a_function_or_something();

var fixedNum = parseFloat(num).toFixed( 2 );

function round(value, decimals) {
return Number(Math.round(value+'e'+decimals)+'e-'+decimals);
}

四舍五入(1.005,2); //返回1.01

四舍五入(1.004,2); //返回1而不是1.00

答案是通过以下链接进行的:http : //www.jacklmoore.com/notes/rounding-in-javascript/

number.parseFloat(2) 可以,但是返回一个字符串。

如果您想将其保存为数字类型,则可以使用:

Math.round(number * 100) / 100

您可以尝试混合Number()toFixed()

将您的目标号码转换为带有X位数字的漂亮字符串,然后将格式化的字符串转换为数字。

Number( (myVar).toFixed(2) )


请参见下面的示例:

var myNumber = 5.01;
var multiplier = 5;
$('#actionButton').on('click', function() {
  $('#message').text( myNumber * multiplier );
});

$('#actionButton2').on('click', function() {
  $('#message').text( Number( (myNumber * multiplier).toFixed(2) ) );
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<button id="actionButton">Weird numbers</button>
<button id="actionButton2">Nice numbers</button>

<div id="message"></div>

toFixed()方法使用定点表示法格式化数字。

这是语法

numObj.toFixed([digits])

digits参数是可选的,默认情况下为0。返回类型为字符串而不是数字。但是您可以使用将其转换为数字

numObj.toFixed([digits]) * 1

它也可以抛出异常喜欢TypeErrorRangeError

这是浏览器全部细节和兼容性。

let a = 0.0500
a.toFixed(2);

//output
0.05

我做了这个功能。它工作正常,但返回字符串。

function show_float_val(val,upto = 2){
  var val = parseFloat(val);
  return val.toFixed(upto);
}
本文地址:http://javascript.askforanswer.com/javascriptxianshifudianshudaoxiaoshudianhouliangwei.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!