Wie konvertiert man eine in einem architektonischen Format angezeigte Messung in einen Fließkommawert?

8

Ich habe eine Datenbank, die erstellt wurde und von einem Architekturbüro verwendet wird. Alle Messungen werden in einem Format wie diesem gespeichert: 15-3 / 4 " und 12 '6-3 / 4" .

Gibt es eine Möglichkeit, diese Arten von Messungen in Fließkommazahlen in Python zu konvertieren? Oder gibt es eine Bibliothek, die diese Funktionalität bietet?

Ebenso, wie würden Sie von einem Gleitkomma zum obigen Format konvertieren?

    
Clayton 30.12.2011, 02:56
quelle

3 Antworten

3

Je nachdem, wie regelmäßig die Muster sind, können Sie str.partition verwenden um das Parsen zu machen:

%Vor%     
Raymond Hettinger 30.12.2011, 06:33
quelle
1

Betrachten Sie den folgenden selbst kommentierten Code. Ich habe versucht, einfach zu halten

%Vor%

Säuretest

%Vor%

Das Konvertieren von Float in Architecture ist einfach, da Sie sich beim Analysieren nicht die Mühe machen müssen

%Vor%

Säuretest

%Vor%

Hinweis *** Es ist wichtig, die Float-Darstellung entweder auf dem niedrigsten Nenner (Zoll) oder dem höchsten Nenner (Fuß) zu halten. Ich habe mich für die höchsten Füße entschieden. Wenn Sie es senken möchten, können Sie es mit 12 multiplizieren.

Update für Rounding-Anfragen (Nicht sicher, ob das elegant ist, aber macht den Job)

%Vor%     
Abhijit 30.12.2011 05:56
quelle
0

Architektonisch zu Fließkomma:

%Vor%

Es ist wirklich grauenvoll, aber ich habe seit einiger Zeit nicht mehr mit Python gearbeitet; Ich bezweifle nicht, dass es einen viel saubereren Weg gibt, dies zu tun, aber es geht gut mit fehlenden Füßen um. It tut aber immer Zoll, also müssten Messungen wie 12' 12' 0" korrekt analysiert werden.

    
ranksrejoined 30.12.2011 03:24
quelle