NEWS
Verwirrung mit Datentypen in JS (string vs. number )
-
Hallo zusammen,
ich habe ein Skript um den Gasverbrauch aufzuarbeiten und in SQL / Sourceanalytix zu verarbeiten. Das funktioniert soweit auch ganz gut nur bekomme ich eine Warnung im Log bzgl. der Zuweisung von Werten. Hier der interessante Teil des Skripts:
var iAktuell = 'javascript.0.scriptEnabled.Zaehler.Gas.aktuellerstand' // Aktueller Stand des Gaszählers - Ist ein State vom Typ "Number" [...] // Hier wird eine kleine Zwischenberechnung gemacht (iZwSumme wird mir bei MouseOver ebenfalls als Number angezeigt) var lfAktuellm3 = ((parseFloat(getState(iAktuell).val)) + iZwSumme / 1000).toFixed(3); // Beim Versuch den Wert in in den o.g. State zurück zu schreiben erhalte ich die Warnung: setState(iAktuell, lfAktuellm3); // Auch so wird es nicht besser... Die Warnung bleibt setState(iAktuell, parseFloat(lfAktuellm3).toFixed(3));Hier nochmal die vollständige Warnung:
You are assigning a string to the state "javascript.0.scriptEnabled.Zaehler.Gas.aktuellerstand" which expects a number. Please fix your code to use a number or change the state type to string.Jemand eine Idee, wie man es besser machen könnte?
-
Hallo zusammen,
ich habe ein Skript um den Gasverbrauch aufzuarbeiten und in SQL / Sourceanalytix zu verarbeiten. Das funktioniert soweit auch ganz gut nur bekomme ich eine Warnung im Log bzgl. der Zuweisung von Werten. Hier der interessante Teil des Skripts:
var iAktuell = 'javascript.0.scriptEnabled.Zaehler.Gas.aktuellerstand' // Aktueller Stand des Gaszählers - Ist ein State vom Typ "Number" [...] // Hier wird eine kleine Zwischenberechnung gemacht (iZwSumme wird mir bei MouseOver ebenfalls als Number angezeigt) var lfAktuellm3 = ((parseFloat(getState(iAktuell).val)) + iZwSumme / 1000).toFixed(3); // Beim Versuch den Wert in in den o.g. State zurück zu schreiben erhalte ich die Warnung: setState(iAktuell, lfAktuellm3); // Auch so wird es nicht besser... Die Warnung bleibt setState(iAktuell, parseFloat(lfAktuellm3).toFixed(3));Hier nochmal die vollständige Warnung:
You are assigning a string to the state "javascript.0.scriptEnabled.Zaehler.Gas.aktuellerstand" which expects a number. Please fix your code to use a number or change the state type to string.Jemand eine Idee, wie man es besser machen könnte?
-
Hallo zusammen,
ich habe ein Skript um den Gasverbrauch aufzuarbeiten und in SQL / Sourceanalytix zu verarbeiten. Das funktioniert soweit auch ganz gut nur bekomme ich eine Warnung im Log bzgl. der Zuweisung von Werten. Hier der interessante Teil des Skripts:
var iAktuell = 'javascript.0.scriptEnabled.Zaehler.Gas.aktuellerstand' // Aktueller Stand des Gaszählers - Ist ein State vom Typ "Number" [...] // Hier wird eine kleine Zwischenberechnung gemacht (iZwSumme wird mir bei MouseOver ebenfalls als Number angezeigt) var lfAktuellm3 = ((parseFloat(getState(iAktuell).val)) + iZwSumme / 1000).toFixed(3); // Beim Versuch den Wert in in den o.g. State zurück zu schreiben erhalte ich die Warnung: setState(iAktuell, lfAktuellm3); // Auch so wird es nicht besser... Die Warnung bleibt setState(iAktuell, parseFloat(lfAktuellm3).toFixed(3));Hier nochmal die vollständige Warnung:
You are assigning a string to the state "javascript.0.scriptEnabled.Zaehler.Gas.aktuellerstand" which expects a number. Please fix your code to use a number or change the state type to string.Jemand eine Idee, wie man es besser machen könnte?
-
Hallo zusammen,
ich habe ein Skript um den Gasverbrauch aufzuarbeiten und in SQL / Sourceanalytix zu verarbeiten. Das funktioniert soweit auch ganz gut nur bekomme ich eine Warnung im Log bzgl. der Zuweisung von Werten. Hier der interessante Teil des Skripts:
var iAktuell = 'javascript.0.scriptEnabled.Zaehler.Gas.aktuellerstand' // Aktueller Stand des Gaszählers - Ist ein State vom Typ "Number" [...] // Hier wird eine kleine Zwischenberechnung gemacht (iZwSumme wird mir bei MouseOver ebenfalls als Number angezeigt) var lfAktuellm3 = ((parseFloat(getState(iAktuell).val)) + iZwSumme / 1000).toFixed(3); // Beim Versuch den Wert in in den o.g. State zurück zu schreiben erhalte ich die Warnung: setState(iAktuell, lfAktuellm3); // Auch so wird es nicht besser... Die Warnung bleibt setState(iAktuell, parseFloat(lfAktuellm3).toFixed(3));Hier nochmal die vollständige Warnung:
You are assigning a string to the state "javascript.0.scriptEnabled.Zaehler.Gas.aktuellerstand" which expects a number. Please fix your code to use a number or change the state type to string.Jemand eine Idee, wie man es besser machen könnte?
@h1ob sagte in Verwirrung mit Datentypen in JS (string vs. number ):
toFixed(3)
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed
Return value
A string representing the given number using fixed-point notation.
toFixed()gibt einen String zurück. Wenn du eine Zahl übergeben willst, dann lass dastoFixed()einfach weg. -
Hallo zusammen,
ich habe ein Skript um den Gasverbrauch aufzuarbeiten und in SQL / Sourceanalytix zu verarbeiten. Das funktioniert soweit auch ganz gut nur bekomme ich eine Warnung im Log bzgl. der Zuweisung von Werten. Hier der interessante Teil des Skripts:
var iAktuell = 'javascript.0.scriptEnabled.Zaehler.Gas.aktuellerstand' // Aktueller Stand des Gaszählers - Ist ein State vom Typ "Number" [...] // Hier wird eine kleine Zwischenberechnung gemacht (iZwSumme wird mir bei MouseOver ebenfalls als Number angezeigt) var lfAktuellm3 = ((parseFloat(getState(iAktuell).val)) + iZwSumme / 1000).toFixed(3); // Beim Versuch den Wert in in den o.g. State zurück zu schreiben erhalte ich die Warnung: setState(iAktuell, lfAktuellm3); // Auch so wird es nicht besser... Die Warnung bleibt setState(iAktuell, parseFloat(lfAktuellm3).toFixed(3));Hier nochmal die vollständige Warnung:
You are assigning a string to the state "javascript.0.scriptEnabled.Zaehler.Gas.aktuellerstand" which expects a number. Please fix your code to use a number or change the state type to string.Jemand eine Idee, wie man es besser machen könnte?
@h1ob sagte in Verwirrung mit Datentypen in JS (string vs. number ):
javascript.0.scriptEnabled.Zaehler.Gas.aktuellerstand
Warum liegt das Skript im Systemverzeichnis
script.enabled? -
@h1ob sagte in Verwirrung mit Datentypen in JS (string vs. number ):
javascript.0.scriptEnabled.Zaehler.Gas.aktuellerstand
Warum liegt das Skript im Systemverzeichnis
script.enabled?Ich danke euch. Da stand ich wohl komplett auf dem Schlauch. Die Warnung ist nun weg.
@Homoran said in Verwirrung mit Datentypen in JS (string vs. number ):
@h1ob sagte in Verwirrung mit Datentypen in JS (string vs. number ):
javascript.0.scriptEnabled.Zaehler.Gas.aktuellerstand
Warum liegt das Skript im Systemverzeichnis
script.enabled?Das Skript liegt da nicht. Nur die beiden states die ich für das Skript brauche. Ist unschön, ich weiß. Aber das Skript ist mittlerweile ein paar Jahre alt und damals wusste ich es nicht besser.
-
Ich danke euch. Da stand ich wohl komplett auf dem Schlauch. Die Warnung ist nun weg.
@Homoran said in Verwirrung mit Datentypen in JS (string vs. number ):
@h1ob sagte in Verwirrung mit Datentypen in JS (string vs. number ):
javascript.0.scriptEnabled.Zaehler.Gas.aktuellerstand
Warum liegt das Skript im Systemverzeichnis
script.enabled?Das Skript liegt da nicht. Nur die beiden states die ich für das Skript brauche. Ist unschön, ich weiß. Aber das Skript ist mittlerweile ein paar Jahre alt und damals wusste ich es nicht besser.