×
Siemens Industry Online Support
Siemens AG
Beitragstyp: FAQ Beitrags-ID: 22277926, Beitragsdatum: 08.11.2007
(0)
Bewerten

Wie kann das Abschneiden der Nachkommastellen bei der Umwandlung einer Zeichenkette in eine Gleitkommazahl verhindert werden?

  • Beitrag
  • Betrifft Produkt(e)

Anleitung:
Für die Umwandlung einer Zeichenkette in eine Gleitkommazahl stehen in Global Script C unterschiedliche ANSI-C-Funktionen zur Verfügung, z.B.:

  • atof()
  • strtod()
  • sscanf()
  • fscanf()

Bei der Verwendung dieser Funktionen kommt es zum "Abschneiden" der Nachkommastellen, wenn in der zu wandelnden Zeichenkette als Dezimaltrennzeichen ein anderes Zeichen als der Punkt "." verwendet wird. Bei einigen Spracheinstellungen wird standardmäßig das Komma "," als Dezimaltrennzeichen verwendet. Das Dezimaltrennzeichen lässt sich in der Systemsteuerung des Betriebssystems unter "Start > Systemsteuerung >Regions- und Sprachoptionen" im Bereich "Standards und Formate" anpassen.


Bild 01

Bevor Sie die Konvertierungsfunktionen aufrufen, um eine Zeichenkette zu wandeln, müssen Sie ein vom Dezimaltrennzeichen Punkt "." abweichendes Trennzeichen durch einen Punkt "." ersetzen. Das folgende Bild zeigt eine C-Aktion, um eine in einem EA-Feld eingegebene Zeichenkette in eine Gleitkommazahl zu wandeln. Dabei wird vor dem Aufruf der Funktion "atof()" das Dezimaltrennzeichen Komma "," durch einen Punkt "." ersetzt.


Bild 02

Securityhinweise
Um technische Infrastruktur, Systeme, Maschinen und Netzwerke gegen Cyber-Bedrohungen zu sichern, ist es erforderlich, ein ganzheitliches IT Security-Konzept zu implementieren (und kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht. Die Produkte und Lösungen von Siemens formen nur einen Bestandteil eines solchen Konzepts. Weitergehende Informationen über Cyber Security finden Sie unter
https://www.siemens.com/cybersecurity#Ouraspiration.