J'aurais eu tendance à partir sur un simple code de ce type, qui me semble suffisant à la gestion des virgules près
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function CalculTTC() {
    var HT = parseFloat(Form1.ht.value),
        TVA = parseFloat(Form1.tva.value),
        Taxe,
        TTC,
        msg = [];
    if (HT === 0 || isNaN(HT)) {
        msg.push('La valeur <b>Hors Taxes</b> n\'est pas un chiffre, calcul impossible.');
        HT = '';
    }
    if (TVA === 0 || isNaN(TVA)) {
        msg.push('La valeur de <b>la TVA</b> n\'est pas un chiffre, calcul impossible.');
        TVA = '';
    }
    Form1.ht.value = HT;
    Form1.tva.value = TVA;
    if (msg.length) {
        affiche(msg.join('<br>'));
    } else {
        Taxe = (HT * TVA) / 100;
        TTC = HT + Taxe;
        affiche(HT + ' + ' + Taxe + ' = ' + TTC);
    }
}