2010-01-25 470 views
4

原始問題: 此位JavaScript代碼將釐米轉換爲英尺。 但腳顯示爲小數,我希望它顯示爲5'10而不是5.83。以英尺和英寸顯示英尺的小數點(javascript)

SOLUTION:

<script type="text/javascript"> 
function start(){ 
document.getElementById('hauteur_cm').onmouseup=function() { 
if(isNaN(this.value)) { 
    alert('numbers only!!'); 
    document.getElementById('hauteur_cm').value=''; 
    document.getElementById('hauteur_pieds').value=''; 
    return; 
} 
var realFeet = this.value*0.03280839895; 
var feet = Math.floor(realFeet); 
var inches = Math.round((realFeet - feet) * 12); 
var text = feet + "'" + inches + '"'; 
    document.getElementById('hauteur_pieds').value=text; 
    } 
} 
if(window.addEventListener){ 
    window.addEventListener('load',start,false); 
} 
else { 
if(window.attachEvent){ 
    window.attachEvent('onload',start); 
    } 
} 
</script> 

回答

6

您可以分割十進制英尺價值爲英尺和英寸這樣的:

var realFeet = 5.83; 

var feet = Math.floor(realFeet); 
var inches = Math.round((realFeet - feet) * 12); 

然後你可以把它們放在一起以任何格式你如:

var text = feet + "'" + inches + '"'; 
+0

請原諒我是這樣的一個javascript simpleton,但我如何將realFeet設置爲「hauteur_pieds」的轉換值(從上面的代碼),然後將var文本發送到元素ID「hauteur_pieds」?非常感激。 – dale 2010-01-25 18:12:00

+0

@date:First var realFeet = this.value * 0.03280839895;然後進行轉換並最終使用document.getElementById('hauteur_pieds')。value = text; – Guffa 2010-01-25 18:40:55

1
function feetAndInches(decimal) { 
    return Math.floor(decimal) + 
    "'" + 
    (12 * (decimal - Math.floor(decimal))) + 
    '"'; 
} 
相關問題