#

React und HTML Javascript Ausgabe einer Zahl

 

Problem:

Deutsche Zahlen werden in javascript / html falsch berechnet.

 

Lösung:

Wenn man in javascript oder react deusche Zahlen als String einliest in eine react-Zahl vom typ number, dann werden in der Regel die . Punkt und , Komma falsch übernommen.

 

Deshalb habe ich die kleine Umwandlungs-Funktion geschrieben

convert_german_to_number(string) number

 

Beim lesen einer deutschen Zahl als String

let sumPunkteGesamtnumber  =this.convert_german_to_number(row[sFeld_Punkte_Gesamt + ".SUM"]);

 

 

 

   private  convert_german_to_number(sValue:string) : number   {

    //*convert german 3.015,67

    sValue=sValue.replace(".","");

    sValue=sValue.replace(",",".");

    return  parseFloat(sValue);   

  }

 

  private  convert_english_to_german(sValue:string) : string   {

    //*convert english 3015.67 to german 3015,67

    sValue=sValue.replace(".",",");

    //sValue=sValue.replace(",",".");

    return  sValue;   

  }

 

 

 

Ausgabe Englisch in Deutsch

Bei der Ausgabe kann mein java.number in deutsche Dezimal-Zahlen / Festkommazahlen mit 2 Stellen  umwandeln, indem man erst

number.toFixed(2)

anwendet und dann

string.replace(".",",")

 

Beispiel Ausgabe in Sharepoint/react (mit java)

${ sumPunkteGesamt.toFixed(2).replace(".",",")}

 

 

 

 

 

 

 

 

 

Log-script….. zuvor gingen alle Ausgaben falsch aus

 

Fehlerhafte Ausgaben zuvor

Die Zahl ist 3013

 

${ (sumPunkteGesamt}

3.013

 

.toLocaleString("de-DE",{maximumFractionDigits:2,minimumFractionDigits:2}

 

 

 ${new Intl.NumberFormat('de-DE',{maximumFractionDigits:2}).format(sumPunkteGesamt}

3,01

 

 

${sumPunkteGesamt.toLocaleString("en-US",{minimumFractionDigits:2maximumFractionDigits:2})}

3.01

 

 

${sumPunkteGesamt.toLocaleString("en-US")}

3.013

 

 

${sumPunkteGesamt.toLocaleString("de-DE")}

3,013  ist falsch. Hier ist nur der Punkt vertauscht

 

 

 

${sumPunkteGesamt.toLocaleString}

 

Ausgabe 3.103

Mobile

.

123movies