Merkwürdiges Rechnerproblem mit ValD() oder StrD()

Für allgemeine Fragen zur Programmierung mit PureBasic.
Cläusel
Beiträge: 25
Registriert: 14.08.2010 21:26
Computerausstattung: PB5.73 Win10 64bit
Wohnort: Oberland

Merkwürdiges Rechnerproblem mit ValD() oder StrD()

Beitrag von Cläusel »

Merkwürdiges Verhalten:
Jetzt habe ich das (als Exe) auf 10 Rechner (x86/x64) getestet und es wird korrekt "1.12345" ausgegeben.
Nur auf EINEM Rechner wird "1,0000000000" (Ganzzahl mit Komma) ausgegeben. :o :o :o
(Firmenrechner x64 Win7Enterprise SP1)

Code: Alles auswählen

MessageRequester("", StrD(ValD("1.23456")))
(mit ValF/StrF ists das gleiche...)

Kennt jemand dieses Verhalten... kann das am Virenscanner oder irgendwelchen Systemeinstellungen liegen?

Lieben Gruß
Claus
Cläusel
Beiträge: 25
Registriert: 14.08.2010 21:26
Computerausstattung: PB5.73 Win10 64bit
Wohnort: Oberland

Re: Merkwürdiges Rechnerproblem mit ValD() oder StrD()

Beitrag von Cläusel »

Habe jetzt rausgefunden:
Wenn der String mit einem Komma an ValD() übergeben wird passt das an diesem einem Rechner, jedoch nicht mehr
an allen 10 anderen.

Code: Alles auswählen

MessageRequester("", StrD(ValD("1,23456")))
Also doch evtl. eine Ländereinstellung an diesem Rechner anders?
Das hieße aber doch, das man diese auslesen muss um ValD() korrekt nutzen zu können.


Grübel ?!?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Merkwürdiges Rechnerproblem mit ValD() oder StrD()

Beitrag von ts-soft »

Teste mal mit der aktuellen PB Version (5.22 LTS), wenn ich mich recht entsinne wurde dieser Bug bereits gefixed.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Cläusel
Beiträge: 25
Registriert: 14.08.2010 21:26
Computerausstattung: PB5.73 Win10 64bit
Wohnort: Oberland

Re: Merkwürdiges Rechnerproblem mit ValD() oder StrD()

Beitrag von Cläusel »

Hallo TS-Soft

Gesagt... getan...
Mit 5.22 LTS leider immer noch das gleiche. :( :(

Vielleicht ist auch an diesem Rechner was faul...aber mit nem Komma im String gehts.
Hatte sonst nie Probleme... macht mich aber stutzig :?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Merkwürdiges Rechnerproblem mit ValD() oder StrD()

Beitrag von ts-soft »

Ist schon ein Bug, die Ländereinstellungen sollten in diesem Falle keine Rolle spielen.
Ich bin der Meinung, der Bug ist auch bereits bekannt und sollte somit in einer der
nächsten Versionen gefixed sein. Hab aber gerade keine Lust im engl. Bugforum
danach zu suchen.

Wenn das Problem in PB5.30 immer noch auftauchen sollte, einfach nochmal im engl.
Bugforum melden (oder falls engl. schlecht, dann hier im Bugforum).

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Cläusel
Beiträge: 25
Registriert: 14.08.2010 21:26
Computerausstattung: PB5.73 Win10 64bit
Wohnort: Oberland

Re: Merkwürdiges Rechnerproblem mit ValD() oder StrD()

Beitrag von Cläusel »

Excel VBA macht den gleichen Mist (denke das PB daran unschuldig ist)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Merkwürdiges Rechnerproblem mit ValD() oder StrD()

Beitrag von ts-soft »

Die API gibt mir auch immer ein komma zurück, obwohl nur ein punkt funktioniert?

Code: Alles auswählen

Define LCData.s{1}
If GetLocaleInfo_(#LOCALE_USER_DEFAULT, #LOCALE_SDECIMAL, @LCData, 2)
  Debug LCData
EndIf
Kann man dann auch nicht als workaround nutzen, vielleicht hat noch jemand anders eine bessere Idee.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten