2015-06-17 57 views
1

我有一個jQuery插件進度表,動畫和有一個回調函數,我動畫的文本值的儀表值。javascript格式編號2地方然後3 100%

https://github.com/kottenator/jquery-circle-progress

回調值在0.12798798等我格式化,得到12%的格式。

我的問題是,如果值是100%,我的代碼返回00%

$('#circle').circleProgress({ 
    startAngle: 90, 
    size: 240, 
    thickness: 22, 
    fill: { gradient: [['#0681c4', .5], ['#4ac5f8', .5]], gradientAngle: Math.PI/4 } 
}).on('circle-animation-progress', function(event, progress, stepValue) { 
    $(this).find('strong').text(String(stepValue.toFixed(2)).substr(2)+'%'); 
}); 

我肯定有一個更好的方法。

+1

非常感謝,好多了。如果您將其添加爲答案,我會接受它。 –

回答

2

可以簡化爲:

(stepValue*100).toFixed(0) + '%' 
+0

這不包括%或類型轉換。 –

+0

這只是爲了縮短'String(stepValue.toFixed(2))。substr(2)'。我現在添加了'%',但我確定OP已經知道這麼做了。 –

+0

此外,在這種情況下不需要進行類型轉換。 'toFixed()'自動返回一個字符串。 –

0

看起來這應該四捨五入到最接近的整數:

Math.round(0.12798798*100) 
0

toFixed(2)給你兩個小數...用0和你不需要substr

$(this).find('strong').text(String(stepValue.toFixed(0))+'%');