VBScript: 2 Nachkommastellen erzwingen
Peter
- sonstiges
Nabend,
wie ich mit Round(Zahl, 2) auf zwei Nachkommastellen runden kann ist klar, aber wie kann ich (aus Formatierungszwecken) zwei Stellen erzwingen?
z.B. die Zahl: 5 soll 5,00 werden usw.
Einer eine Idee ohne daraus einen String zu machen? soll ja nachher noch nach sortiert werden können...
Danke schon mal
Peter
axo, Thema Sonstiges nur weil es hier kein VB gibt und das "Problemchen" nicht unbedingt den Titel Programmiertechnik verdient ;>
hola,
z.B. die Zahl: 5 soll 5,00 werden usw.
Einer eine Idee ohne daraus einen String zu machen? soll ja nachher noch nach sortiert werden können...
jo, FormatNumber(Zahl,2) ;-)
erster GoogleTreffer bei "zahl formatieren vbscript"
axo, Thema Sonstiges nur weil es hier kein VB gibt und das "Problemchen" nicht unbedingt den Titel Programmiertechnik verdient ;>
hab ich auch schon mal vermisst...
schönen Abend noch und hf
Seppel
hi,
Einer eine Idee ohne daraus einen String zu machen? soll ja nachher noch nach sortiert werden können...
jo, FormatNumber(Zahl,2) ;-)
Danke erst mal!
Problem ist nur, die Zahl ist danach wohl anscheinend nen String...er sortiert auf jeden Fall falsch.
Einer noch ne Idee bei der die Zahl eine Zahl bleibt?
Peter
Hallo Peter,
Einer eine Idee ohne daraus einen String zu machen? soll ja nachher noch nach sortiert werden können...
Du kannst die Zahl doch direkt vor der Ausgabe in einen String umwandeln. D.h. ja nicht, dass die Variable in der diese Zahl gespeichert ist nicht weiterhin den Wert als Zahl enthalten kann.
axo, Thema Sonstiges nur weil es hier kein VB gibt und das "Problemchen" nicht unbedingt den Titel Programmiertechnik verdient ;>
Früher gab es diese Kategorie hier mal. Da die aber praktisch nie verwendet wurde, ist die abgeschafft worden. Aber hier wäre Programmiertechnik eigentlich nicht falsch gewesen.
Schöne Grüße,
Johannes
hi,
Du kannst die Zahl doch direkt vor der Ausgabe in einen String umwandeln. D.h. ja nicht, dass die Variable in der diese Zahl gespeichert ist nicht weiterhin den Wert als Zahl enthalten kann.
ich habe eine sortierbare Tabelle - d.h. ich greife auf innerHTML zu und sortiere dies in Javascript.
kann man denn den innerHTML als Zahl lassen und die Anzeige (sowas wie Label) formatieren?
Peter
Hallo Peter,
ich habe eine sortierbare Tabelle - d.h. ich greife auf innerHTML zu und sortiere dies in Javascript.
doch kein VB-Script?
kann man denn den innerHTML als Zahl lassen und die Anzeige (sowas wie Label) formatieren?
man kann in Javascript auch Zahlen sortieren, siehe z.B. http://www.j-berkemeier.de/TableSort.html /
http://www.j-berkemeier.de/TableSort_Beispiel.html
Gruß, Jürgen
Nabend,
doch kein VB-Script?
nein, sorry - unklar ausgedrückt - Sortierung ist schon mit JavaScript, aber der Wert auf den das Script zugreift (innerHTML) wird jetzt nicht mehr als Zahl erkannt...wegen FormatNumber(Zahl,2) -> z.B. 3'500,56
kann man denn den innerHTML als Zahl lassen und die Anzeige (sowas wie Label) formatieren?
die Frage lass ich mal stehen.
Danke und schönen Abend noch
Peter
Hallo Jürgen,
das ist übrigens dein Script welches ich für die Sortierung benutze ;)
Danke erstmal! Bin hier im Forum darauf gestossen. Ich hab mal "kurz" eine Frage:
ich habe ein paar "Zellen", die wegen z.B. Terminüberschreitung markiert sind
z.B.:
<tr>
<td <%If rs(20)=1 Then%>style="background-color:#C71585"<%End If%>>
<%=rs(12)%></td>
...
</tr>
wenn ich jetzt sortiere bleibt die Formatierung natürlich unabhängig vom Inhalt in der Zeile stehen.
Mal ganz blöd gefragt: kann ich die styles einer ganzen Zeile (oder auch zellenweise) mit übernehmen?
Wenn ja (ich schreib das gerne selber um) - wie? ;>
Für einen kleinen Tip wär ich dankbar!
Peter
Hallo Peter,
wenn ich jetzt sortiere bleibt die Formatierung natürlich unabhängig vom Inhalt in der Zeile stehen.
Mal ganz blöd gefragt: kann ich die styles einer ganzen Zeile (oder auch zellenweise) mit übernehmen?
die "Mitnahme" von Formatierungen habe ich auch nicht vorgesehen. Daher jetzt nur eine ungeprüfte Idee:
Die Felder der Tabelle werden ja in ein 2d_Array kopiert, sortiert und wieder zurückgeschrieben. Du könntest dem Array mehr Spalten geben und hier die Hintergrundfarbe speichern, also
for(var z=0;z<nzeilen;z++) {
var zeile=tz[z].getElementsByTagName("td");
Arr[z]=new Array(2*nspalten);
for(var s=0;s<nspalten;s++) {
Arr[z][s]=zeile[s].innerHTML;
Arr[z][s+nspalten]=zeile[s].style.backgroundColor;
}
}
das Zurückschreiben geht dann analog. Versuch es mal und schreib, ob es so (oder anders) klappt.
Gruß, Jürgen
Dank dir, guck ich mir morgen auf der Arbeit an.
Wünsche eine gute Nacht
Peter
Hallo Peter,
nein, sorry - unklar ausgedrückt - Sortierung ist schon mit JavaScript, aber der Wert auf den das Script zugreift (innerHTML) wird jetzt nicht mehr als Zahl erkannt...wegen FormatNumber(Zahl,2) -> z.B. 3'500,56
kann man denn den innerHTML als Zahl lassen und die Anzeige (sowas wie Label) formatieren?
ja. Ersetze im Sortierarray das ' durch Nichts und das , durch einen ., also 3'500,56 -> 3500.56, und achte beim Sortieren darauf, dass Du Zahlen hast. Dann spielt die Stellenzahl vor und nach dem Komma keine Rolle. Beim Zurückschreiben gehst Du umgekehrt vor. Siehe z,B.
http://de.selfhtml.org/javascript/objekte/string.htm#replace
http://de.selfhtml.org/javascript/objekte/number.htm
http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#parse_float
http://de.selfhtml.org/javascript/objekte/array.htm#sort
Gruß, Jürgen