Das ist eine wirklich hässliche Sache, über die ich auch schon gestolpert bin: LotusScript verwendet hier die Einstellungen aus dem Betriebssystem (und zwar unabhängig davon, was man in den Regional- Settings eingestellt hat.
Deutsches Betriebssystem = , als Dezimaltrennzeichen und . als Tausender- Trennzeichen (der ignoriert wird).
Du musst quasi den "richtigen" Dezimaltrenner reinrechnen. Dazu verwendest Du genau das beobachtete Verhalten als Indikator:
Dim strNumber as String
Dim lngNumber as Long
strNumber = "100.0"
lngNumber = Clng( strNumber )
if lngNumber = 100 then '- Trennzeichen ist .
strDecimal = "."
strThousand = ","
Else
strDecimal = ","
strThousand = "."
End If
Wenn Du jetzt sicher bist, dass im Textfeld immer der Punkt verwendet wird,
dann musst Du ja nur sowas tun:
If strDecimal = "," then
'- falsche tausender- trennzeichen ersetzen
strNumber = Replace( strNumber, "," , "" )
'- falsches dezimal- trennzeichen ersetzen
strNumber = Replace( strNumber, "." , "," )
End If
Ich weiss, dass Du den Code jederzeit selbst aus dem Ärmel schütteln könntest, ist nur für denjenigen, der hier mal auf der Suche nach einer Lösung vorbeistolpert...
Aber um Deine Frage zu beantworten: "Bug" würde ich das nicht nennen, eher "Works as Designed" auch wenn das bedeutet, dass der Code bei gleicher Datenlage auf zwei verschiedenen Maschinen völlig unterschiedliche Ergebnisse liefert...