Исходный вопрос: этот бит кода JavaScript преобразует сантиметры в ноги. Но ноги отображены как десятичные числа, я хотел бы, чтобы это отобразилось как 5'10 вместо 5,83.
РЕШЕНИЕ:
<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>
Вы можете разделить значение десятичных футов в ноги и дюймы, подобные этому:
var realFeet = 5.83;
var feet = Math.floor(realFeet);
var inches = Math.round((realFeet - feet) * 12);
, тогда вы можете собрать их вместе в любом формате, который вам нравится:
var text = feet + "'" + inches + '"';
function feetAndInches(decimal) {
return Math.floor(decimal) +
"'" +
(12 * (decimal - Math.floor(decimal))) +
'"';
}