pique decimais não utilizados com javascript

Eu tenho uma entrada de moeda e preciso retornar apenas dígitos significativos. A entrada sempre tem duas casas decimais, portanto:

<code>4.00  ->  4
4.10  ->  4.1
4.01  ->  4.01
</code>

Aqui está como eu estou fazendo isso:

<code>// chop off unnecessary decimals
if (val.charAt(val.length-1) == '0') { // xx.00
    val = val.substr(0, val.length-1);
}
if (val.charAt(val.length-1) == '0') { // xx.0
    val = val.substr(0, val.length-1);
}
if (val.charAt(val.length-1) == '.') { // xx.
    val = val.substr(0, val.length-1);
}
</code>

que funciona, e tem certa objetividade que eu gosto, mas talvez haja uma maneira mais bonita.

Eu suponho que eu poderia usar um loop e executá-lo três vezes, mas na verdade parece que ele será pelo menos tão volumoso quando eu condicionalizar a instrução if. Além disso, alguma ideia? Eu imagino que há uma maneira regular de fazer isso também ....

questionAnswers(7)

yourAnswerToTheQuestion