Ordinare righe in base al valore numerico
item 20, item 3, item 100 e item 11 tornano come item 3, item 11, item 20 e item 100, ordinati per valore e non per caratteri, che metterebbero 100 prima di 20. Se preferisce, scelga dal più grande al più piccolo. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- item 20 item 3 item 100 item 11
- Testo
- item 3 item 11 item 20 item 100
- Righe
- item 3, item 11, item 20, item 100
- Valori
- 3, 11, 20, 100
- Quantità
- 4
Ordini le righe numericamente quando l’ordine alfabetico produce un risultato errato. Un ordinamento testuale colloca 100 prima di 20 perché confronta i caratteri; questa capacità estrae invece il primo numero da ogni riga e ne confronta il valore reale. Gestisce interi con segno, decimali e notazione scientifica, conserva ogni riga per intero e mantiene l’ordine originale quando due chiavi numeriche coincidono. Lei può scegliere l’ordine crescente o decrescente e ricevere sia testo pronto da copiare sia array strutturati. Ogni riga deve contenere un numero finito valido, perciò i dati malformati generano un errore chiaro anziché un risultato parziale inaffidabile.
Perché l’ordinamento numerico è diverso da quello alfabetico
Il normale ordinamento testuale confronta i caratteri da sinistra a destra. La regola è adatta alle parole, ma offre risultati sorprendenti con record numerati: una riga contenente 100 può precederne una contenente 20 perché il carattere 1 viene prima del 2. L’ordinamento numerico individua il primo numero decimale di ogni riga, lo converte in un valore finito e lo usa come chiave.
Tutto il resto della riga rimane invariato, quindi etichette, unità, punteggiatura e spazi accompagnano il numero. I valori con segno seguono l’ordine corretto: -12 viene prima di -3 in senso crescente. Sono accettate forme come 0.5 e .75, oltre a valori scientifici quali 2e3 o -4.2E-2.
Il numero deve essere separato da lettere, cifre e trattini bassi; le cifre incorporate in un identificatore come version2beta non vengono interpretate tacitamente come una misura. Se una riga contiene più numeri, viene usato il primo. Le chiavi uguali conservano l’ordine relativo iniziale, assicurando risultati stabili tra esecuzioni diverse.
Come preparare l’input e leggere il risultato
Inserisca il contenuto su più righe nel campo obbligatorio text. Vengono riconosciute le terminazioni di riga Unix, Windows e i vecchi ritorni a capo; il testo restituito usa poi un unico avanzamento riga, pratico per la copia e le elaborazioni successive. Ogni riga, anche una riga vuota causata da un’interruzione iniziale, finale o ripetuta, deve contenere un numero.
Questa convalida rigorosa protegge le automazioni: invece di collocare una riga illeggibile a un’estremità arbitraria, la capacità segnala il numero della riga da correggere contando da 1. Scelga asc, predefinito, per andare dal valore minore al maggiore, oppure desc per invertire l’ordine. Restituisce inoltre count e l’order effettivo.
Ortografia e spazi originali restano intatti, salvo la normalizzazione dei separatori. I duplicati non vengono rimossi e i separatori delle migliaia non vengono interpretati; elimini la virgola da 1,200, altrimenti il primo valore riconosciuto sarà 1.
Uso affidabile nel browser e nei flussi automatici
Usi lo strumento nel browser per riordinare titoli di capitoli, code di priorità, risultati di benchmark, listini o messaggi di log che includono già un contatore numerico. Un flusso efficace convalida prima il formato di origine, invia le righe e utilizza il testo unito oppure l’array strutturato. Poiché l’implementazione non usa rete, casualità, regole locali o data corrente, input e opzioni identici producono sempre lo stesso output.
I pareggi restano stabili anche in ordine decrescente: la direzione inverte il confronto dei valori, non la posizione relativa delle righe con la stessa chiave. Lo strumento non ordina colonne tabellari, non valuta espressioni e non interpreta valute. Rifiutare una riga priva di un primo valore numerico finito è più sicuro che inventare una posizione che potrebbe nascondere dati mancanti in un rapporto automatico.
Casi d'uso
Ordinare correttamente etichette numerate
Disponga elemento 2, elemento 11 ed elemento 100 secondo il numero reale senza modificare le etichette.
Classificare misure e benchmark
Ordini righe con negativi, decimali o notazione scientifica per ottenere un rapporto riproducibile.
Domande frequenti
Quale numero viene usato se una riga ne contiene diversi?
La chiave è il primo valore numerico autonomo. I numeri successivi restano nel testo, ma non ne influenzano la posizione.
Sono supportati numeri negativi e decimali?
Sì. Sono ammessi interi con segno, valori come -3.5 o .75 e notazione scientifica come 2e3, purché finiti.
Che cosa accade se due righe hanno lo stesso valore?
L’ordinamento è stabile, quindi le righe a pari merito conservano l’ordine relativo dell’input.
Perché compare un errore che indica una riga?
Ogni riga deve contenere un numero e quella non ce l'ha. Conta anche una riga vuota, compresa quella lasciata da un a capo finale. Il messaggio indica il numero della riga, così può correggerla o toglierla.
Perché un numero attaccato a una parola, come in version2beta, non viene usato?
Un numero conta solo quando è separato dalle lettere, quindi le cifre dentro un codice come version2beta non vengono prese come valore. Se quella riga non ha un altro numero, riceverà un avviso proprio per lei.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/str/sort-lines-numeric \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"item 20\nitem 3\nitem 100\nitem 11"}'const res = await fetch("https://api.kit.forhosting.com/str/sort-lines-numeric", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "item 20\nitem 3\nitem 100\nitem 11"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/sort-lines-numeric",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "item 20\nitem 3\nitem 100\nitem 11"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/sort-lines-numeric", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"item 20\\nitem 3\\nitem 100\\nitem 11"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"item 20\nitem 3\nitem 100\nitem 11"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/sort-lines-numeric", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "item 20\nitem 3\nitem 100\nitem 11"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.sort_lines_numeric",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Come preparare l’input e leggere il risultato
La risposta contiene text per la copia, lines come array JSON e values con le chiavi estratte nell’ordine finale.
Casi di integrazione
Normalizzare fixture deterministiche
Crei un ordine numerico stabile per log e test mantenendo la sequenza originale delle righe a pari merito.
Domande tecniche
Che cosa accade se una riga non contiene numeri?
La richiesta non riesce con invalid_input e identifica la riga contando da 1. Non viene restituito un risultato parziale.
Quanto costa ordinare numericamente le righe?
Lo strumento nel browser è gratuito. Ogni richiesta API riuscita costa $0.002; gli input non validi vengono rifiutati.