1
我可以用這個基於數學的查詢來掙扎。將十進制數轉換爲分數
我有兩個日期之間的秒差,並希望將秒數轉換爲分數。我的小數點運行良好,但我正在努力弄清楚如何將該值轉換爲小數。
因此,例如,兩個時間戳之間的星期差數是4.285714285714286。我想將其表示爲4 2/7
。
任何人都可以建議最有效的方式來實現這個在JavaScript中嗎?
我可以用這個基於數學的查詢來掙扎。將十進制數轉換爲分數
我有兩個日期之間的秒差,並希望將秒數轉換爲分數。我的小數點運行良好,但我正在努力弄清楚如何將該值轉換爲小數。
因此,例如,兩個時間戳之間的星期差數是4.285714285714286。我想將其表示爲4 2/7
。
任何人都可以建議最有效的方式來實現這個在JavaScript中嗎?
也許我不明白你的問題,所以這可能是一個非常天真的答案。如果是的話,就這麼說。
var
a = new Date(2011, 12, 31),
b = new Date(2011, 12, 1),
weekMilliSeconds = 7 * 24 * 60 * 60 * 1000,
fraction = (a - b)/weekMilliSeconds,
weeks = Math.floor(fraction),
days = Math.round((fraction - weeks) * 7);
console.log(
weeks + ' ' + days + '/7' // => 4 2/7
);
它總是會有效的幾周和幾天,你想要的?如果是這樣,那麼你可以採取週數的小數部分乘以7和四捨五入。這假定你總是想要超過7的東西。如果你的數字在分數的底部可以改變,那就更困難了...... – Chris 2011-12-15 12:29:43
Arbritrary分數還是隻是第七? – hugomg 2011-12-15 12:30:28