Feldarten

Zahl

Feldarten DECIMAL (fünf Nachkommastellen) und INT (Ganzzahl). Beide teilen Eingabe und Konfiguration; sie unterscheiden sich in der Speicherform. Die Eingabe aus Sicht der Erfassung beschreibt Zahl .

Einheiten

Angezeigt wird gespeicherter Wert × factor. Die Einheit mit factor: 1 ist die Basiseinheit, in der tatsächlich gespeichert wird.

JSON
{
  "units": [
    { "unit": "mm", "factor": 10 },
    { "unit": "cm", "factor": 1 },
    { "unit": "m",  "factor": 0.01 }
  ],
  "defaultUnit": { "unit": "cm", "factor": 1 }
}
Einheitfactor120 gespeichert zeigt
mm101 200
cm1120
m0.011,2

Die Basiseinheit legt man einmal fest und ändert sie nicht mehr. Wer factor: 1 nachträglich einer anderen Einheit gibt, verschiebt die Bedeutung aller gespeicherten Zahlen. Welche Einheit ein einzelnes Objekt gewählt hat, steht in dessen Modifier 1, nicht im Wert.

FallKonfiguration
Einfaches Zahlenfeldkeine, die Vorgabemaske greift
Feste Einheit ohne Wahleine einzige Einheit in units, oder nur defaultUnit
Einheitenwahlmehrere Einheiten in units, dazu defaultUnit

Unter Parameter pflegt das Formular units und defaultUnit gemeinsam, damit keine Vorauswahl entsteht, die in der Liste fehlt.

Währungen immer mit Faktor 1

Für Beträge bekommt jede Währung factor: 1. Wechselkurse schwanken, ein einmal umgerechnet gespeicherter Betrag wäre später falsch.

Der Wandplaner liest Maßfelder über ihre Einheit und braucht dafür einen auflösbaren Millimeterfaktor. Ein Maßfeld ohne erkennbare Einheit wird dort übergangen.

Eingabemaske

Die Maske folgt imask.js . Ihre Schlüssel stehen flach in der Konfiguration oder gruppiert unter imask. Eine Teilangabe wie {"scale": 2} wird aus der Vorgabe ergänzt.

SchlüsselWerteOhne AngabeWirkung
scaleZahl2 (bei INT 0)Angezeigte Nachkommastellen. Bei INT nur 0
thousandsSeparatorein ZeichenLeerzeichenTausendertrennzeichen
radixein Zeichen,Dezimaltrennzeichen
mapToRadixListe von Zeichen[".", ","]Zeichen, die beim Tippen als Dezimaltrenner gelten
padFractionalZerostrue, falsefalseFüllt die Nachkommastellen auf scale auf (nur DECIMAL im Formular)
normalizeZerostrue, falsetrueRäumt führende und überzählige Nullen auf
signedtrue, falsefalseNegative Zahlen erlaubt
min, maxZahloffenGrenzen der Eingabe
unitsListe von unit/factorleerEinheiten, siehe oben
defaultUnitunit/factorerste EinheitVorausgewählte Einheit

Weitere imask-Schlüssel werden durchgereicht: blocks, definitions, lazy, placeholderChar, displayChar, eager, overwrite, skipInvalid, autofix, from, to, maxLength, enum.

scale wirkt nur auf die Anzeige, aber sichtbar: bei scale: 2 kürzt die Maske 12,34567 schon beim Laden auf 12,34, und ein Speichern schreibt diesen gekürzten Wert zurück. Bei DECIMAL wird jenseits der fünften Nachkommastelle gerundet.

Formatierungen

Die Feldart bringt zwei Formatierungen mit, beide nirgends vorbelegt:

FormatierungAusgabeKennung
ZahlDie Zahl mit der Maske des Feldesstandard
Zahl mit EinheitDasselbe, dazu die Einheiteinheit

Seit Version 1.4.23 gibt „Zahl“ nur noch die Maske aus. Vorher hieß die einzige Formatierung „Zahl mit Einheit“. Wo sie an einem Feld mit Einheit gewählt war, fehlt seither die Einheit, bis „Zahl mit Einheit“ gewählt wird. Siehe Formatierungen .

Wann eine andere Feldart passt

BedarfFeldart
Ganze ZahlenINT
Mehrere Maße in einem Feld, etwa Höhe, Breite, Tiefe für Objekt und RahmenJSON
Inventarnummern, SignaturenText
Klassen wie unter 50 und 50 bis 100Virtuelles Feld über dem Zahlenfeld
\ en\ de