| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge |
Autor
|
Thema: VB String in Double Convertieren (2099 mal gelesen)
|
amg13 Mitglied
Beiträge: 942 Registriert: 20.12.2002 Aktuell: FSC R550 2x Xeon X5450 QuadCore 8GB RAM Nvidia FX4800 Dell Precision M6300 Solid Edge ST3 NX 7.5 Solid Works 2010 Pro/E Das war einmal: HP Workstation >80x SolidEdge V19 (Classic & Foundation) 14x SMAP3D Piping/Partfinder
|
erstellt am: 09. Nov. 2007 11:49 <-- editieren / zitieren --> Unities abgeben:
|
amg13 Mitglied
Beiträge: 942 Registriert: 20.12.2002 Aktuell: FSC R550 2x Xeon X5450 QuadCore 8GB RAM Nvidia FX4800 Dell Precision M6300 Solid Edge ST3 NX 7.5 Solid Works 2010 Pro/E Das war einmal: HP Workstation >80x SolidEdge V19 (Classic & Foundation) 14x SMAP3D Piping/Partfinder
|
erstellt am: 09. Nov. 2007 11:58 <-- editieren / zitieren --> Unities abgeben:
|
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 09. Nov. 2007 13:04 <-- editieren / zitieren --> Unities abgeben: Nur für amg13
Val ginge denn die Funktion kennt nur '.' aber es darf kein ',' vorkommen. Bleibt nur Punkt/Komma vertauschen oder Locale umstellen (weniger geeignet) modeng ------------------ Lieber Fehler riskieren als Initiative verhindern (R. Mohn) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
amg13 Mitglied
Beiträge: 942 Registriert: 20.12.2002 Aktuell: FSC R550 2x Xeon X5450 QuadCore 8GB RAM Nvidia FX4800 Dell Precision M6300 Solid Edge ST3 NX 7.5 Solid Works 2010 Pro/E Das war einmal: HP Workstation >80x SolidEdge V19 (Classic & Foundation) 14x SMAP3D Piping/Partfinder
|
erstellt am: 09. Nov. 2007 13:18 <-- editieren / zitieren --> Unities abgeben:
Hi modeng, irgend wie klappt das nicht. Hier das codeing Sub GetCoordinatesFromVar(CoordinateString As String, Optional ByRef Xpos As Double, Optional ByRef Ypos As Double) Dim aCoordinate As Variant aCoordinate = Split(CoordinateString, " ") Xpos = CDbl(Val(aCoordinate(0))) Ypos = CDbl(aCoordinate(1)) End Sub der CoordianteString der übergeben wird sieht so aus "11.333 22.666". Dieser wird in 11333 und 22666 umgewandelt. Unschön fände ich die Lösung vorher im string den "." durch ein "," auszutauschen. Zumal das verwirrend ist. Definiere ich eine Double in VB muss ich das mit "." tun aber um einen String zu konvertieren muss ich mit "," arbeiten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Arne Peters Ehrenmitglied V.I.P. h.c. CAD Dokumentation / Training / Programmierung / Datenbanken
Beiträge: 7321 Registriert: 05.2002.24 Solid Edge Seminarunterlagen Training, Beratung, Programmierung
|
erstellt am: 09. Nov. 2007 13:32 <-- editieren / zitieren --> Unities abgeben: Nur für amg13
Zitat: Original erstellt von amg13: Unschön fände ich die Lösung vorher im string den "." durch ein "," auszutauschen.
Warum? Bau doch innen noch ein Replace ein. ------------------ APeters@BSS-Online.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
amg13 Mitglied
Beiträge: 942 Registriert: 20.12.2002 Aktuell: FSC R550 2x Xeon X5450 QuadCore 8GB RAM Nvidia FX4800 Dell Precision M6300 Solid Edge ST3 NX 7.5 Solid Works 2010 Pro/E Das war einmal: HP Workstation >80x SolidEdge V19 (Classic & Foundation) 14x SMAP3D Piping/Partfinder
|
erstellt am: 09. Nov. 2007 13:36 <-- editieren / zitieren --> Unities abgeben:
|
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 09. Nov. 2007 13:39 <-- editieren / zitieren --> Unities abgeben: Nur für amg13
Moin, also das funzt bei mir prima: Dim dX As Variant Dim dY As Double dX = Val("11.333") dY = Val("22.666") mag sein weil ich ein US-VB6 habe? (Variant nur um zu sehen ob's damit auch geht) Nachtrag: mit Arnes Vorschlag sieht's dann so aus: dX = CDbl(Replace("11.333", ".", ",")) dY = CDbl(Replace("22.666", ".", ",")) nur darf keine Zahl "12,123.233" vorkommen ... modeng ------------------ Lieber Fehler riskieren als Initiative verhindern (R. Mohn) [Diese Nachricht wurde von modeng am 09. Nov. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
amg13 Mitglied
Beiträge: 942 Registriert: 20.12.2002 Aktuell: FSC R550 2x Xeon X5450 QuadCore 8GB RAM Nvidia FX4800 Dell Precision M6300 Solid Edge ST3 NX 7.5 Solid Works 2010 Pro/E Das war einmal: HP Workstation >80x SolidEdge V19 (Classic & Foundation) 14x SMAP3D Piping/Partfinder
|
erstellt am: 09. Nov. 2007 13:49 <-- editieren / zitieren --> Unities abgeben:
hallo Modeng, vielleicht muss ich mich auch einfach nur wieder dran gewöhnen. Bei Deinem Codeing macht er mir aus dem String eine 11,333 im Überwachungsfenster, bzw. wenn ich den Wert als Msgbox ausgebe. Scheint so eine regionale Einstellung zu sein. MfG AMG
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 09. Nov. 2007 13:54 <-- editieren / zitieren --> Unities abgeben: Nur für amg13
... dann das ist ja auch richtig es wird die Locale (DE) bzw. die Einstellungen fuer '.,' in Zahlen beruecksichtigt! modeng ------------------ Lieber Fehler riskieren als Initiative verhindern (R. Mohn) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |