SemVer vergleichen (2.0.0)
1.0.0 gegen 1.0.1 ergibt −1: Die erste Version ist die ältere. Der Vergleich folgt genau Semantic Versioning 2.0.0, Sie müssen Versionsnummern also nicht mehr nach Augenmaß sortieren. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Erster Text
- 1.0.0
- Zweiter Text
- 1.0.1
- Cmp
- -1
- Beziehung
- a<b
Vergleichen Sie zwei Semantic-Versioning-2.0.0-Zeichenketten nach den Vorrangregeln. Suchintention: SemVer vergleichen / semantische Versions-Vorrangordnung. Für eine korrekte Antwort sind keine Netzaufrufe, Zufalls-Seeds und kein Serverzustand nötig.
So funktioniert der Vorrang von Versionen
Eine semantische Version besteht aus drei durch Punkte getrennten Zahlen: Haupt-, Neben- und Patchversion. Um zu entscheiden, welche von zwei Versionen zuerst kommt, werden sie von links nach rechts verglichen. Die erste Zahl entscheidet, solange sie verschieden ist; sind beide gleich, entscheidet die zweite und danach die dritte. Jeder Teil wird als Zahl verglichen, nicht als Text. Der Vergleich von 1.0.0 mit 1.0.1 ergibt −1: Die ersten beiden Zahlen stimmen überein, die dritte ist bei der ersten Version kleiner, also ist sie die ältere.
Vorabversionen, Build-Metadaten und typische Fehler
Zwei Zusätze sorgen oft für Verwirrung. Eine Vorabversion, nach einem Bindestrich geschrieben wie in 1.0.0-alpha, steht immer unter der fertigen Version mit denselben Zahlen. Build-Metadaten nach einem Pluszeichen, wie in 1.0.0+build, werden für den Vorrang ignoriert: Zwei Versionen, die sich nur darin unterscheiden, gelten als gleichrangig. Der häufigste Fehler ist, Versionen als reinen Text zu sortieren, wodurch jede zweistellige Zahl falsch einsortiert wird. Der Vergleich hier folgt Semantic Versioning 2.0.0, kommt ohne Netzwerkzugriff aus und liefert Ihnen für dasselbe Paar immer dieselbe Antwort.
So funktioniert es
Vergleichen Sie zwei Semantic-Versioning-2.0.0-Zeichenketten nach den Vorrangregeln. Build-Metadaten werden für den Vorrang ignoriert; Prerelease steht unter Release. Die Implementierung ist reines JavaScript ohne externe Dienste.
Für eine korrekte Antwort sind keine Netzaufrufe, Zufalls-Seeds und kein Serverzustand nötig. Fehlgeschlagene Jobs werden nicht berechnet. Landings zielen mit präzisen Keywords auf die genannte Suchintention.
Bevorzugen Sie explizite Einheiten und Bereiche statt stiller Umwandlung falscher Typen. Ist ein Feld optional, sind Standardwerte in params dokumentiert und in der Ausgabe gespiegelt. Dies
Eingaben, Grenzen und Rundung
Optionale Dezimalstellen nutzen half-up einmal. Ausgaben spiegeln Schlüsseleingaben, damit Automatisierung den vollen Kontext jedes Aufrufs protokollieren kann. Für eine korrekte Antwort sind keine Netzaufrufe, Zufalls-Seeds und kein Serverzustand nötig.
Fehlgeschlagene Jobs werden nicht berechnet. Landings zielen mit präzisen Keywords auf die genannte Suchintention. Bevorzugen Sie explizite Einheiten und Bereiche statt stiller Umwandlung falscher Typen.
Wenn
Wann Sie es nutzen
Nutzen Sie es, wenn Ihre Suchintention zum Rechnernamen passt und Sie eine reproduzierbare Antwort für Lehre, Finanzbetrieb, GIS, Textwerkzeuge oder Einheitenhistorie brauchen. Vergleichen Sie zwei Semantic-Versioning-2.0.0-Zeichenketten nach den Vorrangregeln. Für eine korrekte Antwort sind keine Netzaufrufe, Zufalls-Seeds und kein Serverzustand nötig.
Fehlgeschlagene Jobs werden nicht berechnet. Landings zielen mit präzisen Keywords auf die genannte Suchintention. Bevorzugen Sie explizite Einheiten und Bereiche statt stiller Umwandlung falscher Typen.
Ist ein Feld optional, sind Standardwerte dokumentiert in
Häufige Fragen
Ruft es das Netzwerk auf?
Nein. Alle Mathematik- und Texttransformationen sind lokal und deterministisch.
Ist 1.0.0-alpha älter als 1.0.0?
Ja. Eine Vorabversion, gekennzeichnet durch einen Bindestrich und eine Bezeichnung wie alpha oder beta, steht immer unter der fertigen Version mit denselben Zahlen, also kommt 1.0.0-alpha vor 1.0.0.
Ändern Build-Metadaten die Reihenfolge?
Nein. Alles nach einem Pluszeichen, etwa in 1.0.0+build, sind Build-Metadaten und wird für den Vorrang ignoriert: 1.0.0+build und 1.0.0 gelten beim Vergleich als gleich.
Warum ist 10.0.0 neuer als 2.0.0?
Weil jeder Teil als Zahl verglichen wird, nicht als Text. Zehn ist größer als zwei, also steht 10.0.0 über 2.0.0, obwohl eine alphabetische Sortierung die 1 vor die 2 setzen und sich irren würde.
Welcher Teil der Version wird zuerst verglichen?
Die erste Zahl, die Hauptversion. Die zweite Zahl entscheidet erst, wenn die ersten gleich sind, und die dritte erst, wenn die ersten beiden übereinstimmen. Deshalb steht 2.0.0 über jeder Version, die mit 1 beginnt.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/text/semver-compare \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":"1.0.0-alpha","b":"1.0.0"}'const res = await fetch("https://api.kit.forhosting.com/text/semver-compare", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": "1.0.0-alpha",
"b": "1.0.0"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/semver-compare",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": "1.0.0-alpha",
"b": "1.0.0"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/semver-compare", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":"1.0.0-alpha","b":"1.0.0"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":"1.0.0-alpha","b":"1.0.0"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/semver-compare", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"a": "1.0.0-alpha",
"b": "1.0.0"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.semver_compare",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Der Rechner ist im Browser kostenlos, deterministisch und auf dem API-Pfad identisch. Eingaben werden vor jeder Arithmetik geprüft, sodass ungültige Payloads mit invalid_input scheitern. Half-up-Rundung wird einmal aus rohen IEEE-Ergebnissen angewendet, wenn Dezimalstellen angefordert werden. Nutzen Sie denselben JSON-Vertrag aus Tabellen, CMS
So funktioniert es
Der Rechner ist im Browser kostenlos, deterministisch und auf dem API-Pfad identisch. Eingaben werden vor jeder Arithmetik geprüft, sodass ungültige Payloads mit invalid_input scheitern. Half-up-Rundung wird einmal aus rohen IEEE-Ergebnissen angewendet, wenn Dezimalstellen angefordert werden. Nutzen Sie denselben JSON-Vertrag aus Tabellen, CMS-Hooks, Automatisierung oder Lehrdemos.
Eingaben, Grenzen und Rundung
Geben Sie die Pflichtparameter als JSON-Zahlen oder -Zeichenketten gemäß Dokumentation an. Ungültige Typen, fehlende Pflichtfelder oder Werte außerhalb des Bereichs lösen invalid_input mit klarer Meldung aus. Der Rechner ist im Browser kostenlos, deterministisch und auf dem API-Pfad identisch. Eingaben werden vor jeder Arithmetik geprüft, sodass ungültige Payloads mit invalid_input scheitern. Half-up-Rundung wird einmal aus rohen IEEE-Ergebnissen angewendet, wenn Dezimalstellen angefordert werden. Nutzen Sie denselben JSON-Vertrag aus Tabellen, CMS-Hooks, Automatisierung oder Lehrdemos.
Wann Sie es nutzen
Der Rechner ist im Browser kostenlos, deterministisch und auf dem API-Pfad identisch. Eingaben werden vor jeder Arithmetik geprüft, sodass ungültige Payloads mit invalid_input scheitern. Half-up-Rundung wird einmal aus rohen IEEE-Ergebnissen angewendet, wenn Dezimalstellen angefordert werden. Nutzen Sie denselben JSON-Vertrag aus Tabellen, CMS-Hooks, Automatisierung oder Lehrdemos.
Integrationsbeispiele
Schnelle Prüfung
Fügen Sie Werte im kostenlosen Widget ein und vergleichen Sie mit einer Tabelle.
Automatisierung
Rufen Sie die API mit demselben JSON-Vertrag aus n8n, Skripten oder CMS auf.
Lehre
Zeigen Sie die Formel und fixierte Golden-Beispiele ohne proprietäre Software.
Technische Fragen
Ist es im Browser kostenlos?
Ja. Tier A läuft vollständig clientseitig mit demselben Kern wie die API.
Was passiert bei schlechter Eingabe?
Der Handler wirft invalid_input; fehlgeschlagene Jobs werden nicht berechnet.
Kann ich es über die API nutzen?
Ja. Senden Sie dieselben in params dokumentierten JSON-Felder.
Wer ist der Autor?
Aspire (elon@forhosting.com), nur EN-Lieferung; Nitro hydratisiert Locales.