原始问题: 这段javascript代码会将厘米转换为英尺。 但是脚显示为小数,我希望它显示为5'10而不是5.83。
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>
答案 0 :(得分:7)
您可以将十进制英尺值拆分为英尺和英寸,如下所示:
var realFeet = 5.83;
var feet = Math.floor(realFeet);
var inches = Math.round((realFeet - feet) * 12);
然后你可以用你喜欢的任何格式把它们放在一起:
var text = feet + "'" + inches + '"';
答案 1 :(得分:1)
function feetAndInches(decimal) {
return Math.floor(decimal) +
"'" +
(12 * (decimal - Math.floor(decimal))) +
'"';
}