javascript – 小於10加號0
如何修改此程式碼,在任何低於10的數字之前新增0
$('#detect').html( toGeo(apX, screenX)+ latT +', '+ toGeo(apY, screenY) + lonT); function toGeo(d, max) { var c = ''; var r = d/max * 180; var deg = Math.floor(r); c += deg + "° "; r = (r - deg) * 60; var min = Math.floor(r); c += min + "′ "; r = (r - min) * 60; var sec = Math.floor(r); c += sec + "″"; return c; }
所以outpout會改變
4°7’34“W,168°1’23”N
至
04°07’34“W,168°01’23”N
謝謝你的時間
你可以隨時做
('0' + deg).slice(-2)
見ofollow,noindex" target="_blank">
slice()
:
You can also use negative numbers to select from the end of an array
於是
('0' + 11).slice(-2) // '11' ('0' + 4).slice(-2)// '04'
為了方便訪問,您當然可以將其提取到一個函式,甚至可以使用它擴充套件Number:
Number.prototype.pad = function(n) { return new Array(n).join('0').slice((n || 2) * -1) + this; }
這可以讓你寫:
c += deg.pad() + '° '; // "04° "
上述功能鍵接受一個指定所需字串長度的引數.如果沒有使用這樣的引數,它預設為2.你可以寫:
deg.pad(4) // "0045"
注意n的值不能高於11的明顯缺點,因為0的字串目前只有10個字元長.這當然可以給出一個技術解決方案,但是我不想在這麼簡單的功能中引入複雜性. (你應該選擇,看到alex’s answer 是一個很好的做法).
還要注意你不能寫2.pad().它只適用於變數.但是,如果它不是一個變數,您將始終知道數字包含多少個數字.
http://stackoverflow.com/questions/8513032/less-than-10-add-0-to-number