如下
var a= 85.99999;
var b=488.236;
var c=488.3;
formatNum(double num,int postion){
if((num.toString().length-num.toString().lastIndexOf(".")-1)<postion){
//小數點後有幾位小數
print( num.toStringAsFixed(postion).substring(0,num.toString().lastIndexOf(".")+postion+1).toString());
}else{
print( num.toString().substring(0,num.toString().lastIndexOf(".")+postion+1).toString());
}
}
formatNum(a, 2);
formatNum(b, 2);
formatNum(c, 2);
``
打印結果
我們都知道toStringAsFixed()這個方法會在保留小數的基礎上對末位進行四捨五入,當存在99.999這種數字時,用這個就會出現問題。所以我們需要進行判斷,當給的數字小數位少於我們需要截取的位數時,我們才需要用toStringAsFixed這個方法去補充後面的位數,別的情況直接截取即可。
over…