2014-09-29 70 views
-1

我有一個公式,DMS GPS座標轉換爲十進制度,Math.trunc問題或不正確使用

但是我想賴特它JS,但沒有工作,

測試過程中我注意到, 「經緯度」的價值觀是否正確被拆分,但一旦我嘗試使用Math.trunc它只是停止提供數據

下面是函數:

function convertdec() { 
var input1 = document.getElementById('latlng').value; 
var latlongc = input1.split(',' ,2); 
var latdeg1 = Math.trunc(parseInt(latlngc[0])); 
var latmin1 = Math.trunc((parseInt(latlngc[0])-latdeg1)*60); 
var latsec1 = (((parseInt(latlngc[0])-latdeg1)*60)-latmin1)*60; 
var longdeg1 = Math.trunc(parseInt(latlngc[1])); 
var longmin1 = Math.trunc((parseInt(latlngc[1])-longdeg1)*60); 
var longsec1 = (((parseInt(latlngc[0])-latdeg1)*60)-longmin1)*60; 

document.getElementById('deg1').value = latdeg1; 
document.getElementById('min1').value = latmin1; 
document.getElementById('sec1').value = latsec1; 
document.getElementById('deg2').value = longdeg1; 
document.getElementById('min2').value = longmin1; 
document.getElementById('sec2').value = longsec1; 

} 

佈局是正確公式但顯然不是爲腳本

請幫助解釋我在做什麼錯

+1

'Math.trunc()'是所提出的ECMA 6和不支持的部分在所有瀏覽器中。你應該檢查你的瀏覽器錯誤控制檯或調試控制檯,看看'Math.trunc()'是否存在,並導致你的問題。你可以看看'Math.floor()'作爲替代方案(具體取決於你想要做什麼)。 – jfriend00 2014-09-29 10:13:43

+0

發現一個問題,var latlongc應該是latlngc – 2014-09-29 10:26:03

+0

爲什麼你試圖截斷整數呢? – Bergi 2014-09-29 10:52:46

回答

0

固定它

function convertdec() { 
var input1 = document.getElementById('latlng').value; 
var latlngc = input1.split(',' ,2); 
var latdeg1 = Math.floor(parseInt(latlngc[0])); 
var latmin01 = (latlngc[0]-latdeg1)*60; 
var latmin1 = Math.floor(latmin01); 
var latsec01 = (latmin01-latmin1); 
var latsec1 = latsec01*60; 
var longdeg1 = Math.floor(parseInt(latlngc[1])); 
var longmin01 = (latlngc[1]-longdeg1)*60; 
var longmin1 = Math.floor(longmin01); 
var longsec01 = (longmin01-longmin1) 
var longsec1 = longsec01*60 


document.getElementById('deg1').value = latdeg1; 
document.getElementById('min1').value = latmin1; 
document.getElementById('sec1').value = latsec1; 
document.getElementById('deg2').value = longdeg1; 
document.getElementById('min2').value = longmin1; 
document.getElementById('sec2').value = longsec1; 

}