Peter: VBScript: 2 Nachkommastellen erzwingen

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 ;>

  1. 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

    1. 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

  2. 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

    1. 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

      1. 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

        1. 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

          1. 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

            1. 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

              1. Dank dir, guck ich mir morgen auf der Arbeit an.

                Wünsche eine gute Nacht
                Peter

          2. 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