Java Java Formatter - Werte multiplizieren/manipulieren

SeeD

Lt. Junior Grade
Registriert
Aug. 2009
Beiträge
451
Hi ihrs,

ich habe ein Problem. Ich bin völlig java unaffin, habe aber hier eine Applikation die den Java Formatter (http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html) nutzt.


Nun gibt diese Applikation meinen Temperaturwert aus, allerdings kommt dieser scheinbar als folgendes an:

0.189 = 18.9 °


Das ist natürlich unschön. Aktuell habe ich den Wert auf %.3f °C stehen, damit ich wenigstens die Werte sehe, wenn auch inkorrekt. Gibt es einen Weg dies umzustellen, sodass ich das korrekte rausbekomme?

Vielen Dank euch

Grüße
SeeD
 
Nein ausgegeben wird aktuell:

0.186 °C


Weil der Sensor das entweder aufgrund eines Fehlers oder weils so geplant ist leider so ausgibt. Effektiv sind es aber 18.6 Grad...
 
Multipliziere es mit 100?
Falls es ein String als Datentyp ist musst du es allerdings erst in einen Zahlentyp umwandeln.
double ZahlWert = parseDouble(Variable)*100;
Falls es nicht automatisch ToString macht kannst dus auch wieder in einen String umwandeln.
string TextWert = String.valueOf(total);
 
Einfach mit 100 multiplizieren?
 
Ja die Multiplikation hatte ich auch im Kopf. Das Problem ist halt meine völlige Unwissenheit von Java :D

Ich spiele ab und an in c++ rum, aber in der Konfigurationsdatei habe ich auch keinen direkten Zugriff auf die Variable.

Beschrieben ist es so:

Example:
Number Temperature_GF_Living "Temperature [%.1f °C]"

formatting its output in format xx.y °C

The label text is used on the one hand side to display a description for the specific item e.g. in the sitemap, on the other hand to format the output of number or string item types.

Formatting is done applying standard Java formatter class syntax.


Danke auf jeden Fall schon mal ;)
 
Zuletzt bearbeitet:
dann wird das die zahl sein Number Temperature_GF_Living "Temperature [%.1f]
also

Code:
double d = Number Temperature_GF_Living Temperature [%.1f] * 100;
string s = d + " C°";
 
Zuletzt bearbeitet:
@tnoay
SeeD schrieb:
In der Konfigurationsdatei habe ich auch keinen direkten Zugriff auf die Variable.

@SeeD
Meines Wissens nach ist es nicht möglich, das von dir gewünschte Ergebnis alleine nur durch eine bestimmte Formatierung zu erreichen. Wenn dir deine Applikation den Wert 0.189 zurückgibt, dann musst du mit dem leben. Ich würde hier eher einmal nachsehen, ob die Applikation selbst irgendwo eine Macke hat die du ausmerzen könntest.
 
Zuletzt bearbeitet:
So nach ewigen abmühen habe ich jetzt mehr oder minder aufgegeben. Ich lebe so mit den Werten, ist doof und gewöhnungsbedürftig, schuld ist aber im Endeffekt der Sensor selbst, welcher nunmal falsche Werte ausgibt.

Dennoch danke euch alle für die Mühen, schade dass es erfolglos war.
 
Zurück
Oben