Jetzt Dezimalstelle ist 2, ich möchte es je nach Variable ändern, ist es möglich?Dezimalstellen, wenn Zahlenformat in Excel
cell.v = parseFloat(cell.v),
cell.t = 'n';
cell.z = XLSX.SSF._table[2]; // 0.00 -> want to change to 0.000
Jetzt Dezimalstelle ist 2, ich möchte es je nach Variable ändern, ist es möglich?Dezimalstellen, wenn Zahlenformat in Excel
cell.v = parseFloat(cell.v),
cell.t = 'n';
cell.z = XLSX.SSF._table[2]; // 0.00 -> want to change to 0.000
verwenden Nur .toFixed() Methode:
cell.z = Number(XLSX.SSF._table[2]).toFixed(3);//0.000
Wert von 'XLSX.SSF._table [2]' ist '" 0.00 "', so wird der Fehler geworfen XLSX.SSF._table [2] .toFixed ist keine Funktion'. Ich habe versucht 'cell.z =" 0.000 ";' aber es funktioniert nicht. – karaxuna
Zuerst müssen Sie es in die Nummer konvertieren. Z.B. Number ("0.00"). ToFixed (3) –
Und Sie erhalten "0.000". Ich sagte, es geht nicht. – karaxuna
nur eine Kombination von parseFloat()
verwenden und toFixed()
:
cell.z = parseFloat(XLSX.SSF._table[2]).toFixed(3);
ParseFloat()
ist speziell Strings in Zahlen zu drehen.
Wie ich aus den Kommentaren verstehe, möchte das OP eine XLSX-Datei mit der js-xlsx
Bibliothek, mit einer Zahl mit 3 Dezimalzahlen gerendert schreiben.
Ich erreiche dies wie folgt. Ich fügen Sie den Formatcode "0.000" zu XLSX.SSF._table
:
XLSX.SSF._table[164] = '0.000'
Dann cell.z = '0.000'
funktionieren sollte.
Ich weiß nicht, warum der Index 164. Wenn es ein anderes Format, um es zu 165 geht, dann 166 usw.
Mögliches Duplikat [JavaScript einen Schwimmer auf 2 Dezimalstellen Anzeige] (http://stackoverflow.com/questions/3163070/javascript-displaying-a-float-to-2-decimal-places) – Rayon
@RayonDabre es ist nicht doppelt, es geht um Excel-Formatierung, nicht nur Formatierung Nummer – karaxuna
Wenn ja, das ist wirklich nicht die Möglichkeit, die Frage zu stellen. – Rayon