Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
Delphi 10.4 Sydney
|
Einheiten parsen
9. Mär 2015, 12:16
Meine User würden gerne sowas eingeben können.
5,0 kN/m2 * 0,70 m / cos(30)
Die Idee war nun zwei Berechnungen durchzuführen:
1.) Die Einheiten rauslöschen und den Term herkömmlich parsen.
-> Parse(5,0 * 0,70 / cos(30))
2.) Die Term zu modifizieren und dann die Einheiten parsen.
-> UnitParse([kN/m2] / [m])
Mögliche Einheiten:
'kN/m3', 'kN/m2', 'kN/m', 'kNm/m', 'kNm', 'kN', 'm3', 'm2', 'm',
(Wann 'kNm/m' ebd ist und nicht kN kann ich vorher prüfen ('kNm/m' kann nur vorkommen wenn 'kNm' im Term vorhanden ist.))
Einheiten können nur in + - * / Operationen vorkommen.
Doch wie berechnet man das? Was nehm ich da für einen Typ? Kann man da irgendwie bitweise addieren? Hat da jemand eine Idee? Vom Ergebnis muß ja auch wieder auf die Einheit geschlossen werden können (MyTypToStr)?
|