Divida una spesa condivisa in quote disuguali
Dividere in parti uguali è semplice, ma non sempre equo. I coinquilini possono avere camere di dimensioni diverse, i viaggiatori soggiornare per un numero differente di notti e i familiari concordare contributi basati sul reddito.
Esegui gratis nel browser
Questa calcolatrice distribuisce una spesa comune usando un peso per ogni persona. Inserisca totale, nomi e pesi relativi per ottenere ciascun importo dovuto con un arrotondamento coerente. I pesi possono rappresentare qualsiasi criterio concordato e le assegnazioni finali sommano sempre al totale arrotondato.
Scelga pesi che rappresentino l’accordo
Un peso è una quota relativa, non necessariamente una percentuale o una somma di denaro. Se tre persone usano i pesi 1, 2 e 3, devono rispettivamente un sesto, due sesti e tre sesti del totale. Moltiplicare tutti i pesi per lo stesso numero non cambia il risultato: 10, 20 e 30 descrivono quindi la medesima ripartizione. La calcolatrice si adatta all’affitto basato sulle dimensioni della camera, alle utenze secondo l’occupazione, a una prenotazione di gruppo secondo le notti trascorse o alle spese domestiche secondo il reddito. Concordino il significato dei pesi prima del calcolo e applichino lo stesso criterio a tutti. Una persona può avere peso zero se è intenzionalmente esente da quella spesa. Tuttavia, almeno un valore deve essere positivo. Se tutti i pesi sono zero, manca una base matematica per distribuire il totale e viene restituito un errore di input, invece di inventare una divisione uguale. Anche i nomi devono essere univoci, così il risultato resta chiaro quando viene copiato in un messaggio o in un registro.
Comprenda arrotondamento e totali esatti
La divisione proporzionale produce spesso frazioni inferiori alla più piccola unità monetaria pagabile. Una piccola fattura divisa fra tre quote ponderate, per esempio, può generare decimali periodici. La calcolatrice converte prima il totale alla precisione scelta, calcola ogni quota proporzionale esatta e assegna le unità minime residue con il metodo dei resti maggiori. Le persone i cui importi non arrotondati hanno i resti frazionari più grandi ricevono per prime tali unità. A parità di resto decide l’ordine originale di inserimento, così le esecuzioni ripetute sono deterministiche. In pratica, gli importi visualizzati sommano sempre esattamente al totale mostrato: nessun centesimo scompare o viene creato. Usi due decimali per dollari o euro, zero per una contabilità a unità intere oppure una precisione maggiore quando appropriato. `share` descrive la proporzione matematica, mentre `owed` è l’importo pagabile dopo l’arrotondamento. Poiché anche il totale viene arrotondato alla precisione richiesta, lo inserisca con la precisione riconosciuta dal processo di saldo.
Controlli e comunichi il risultato
Consideri il calcolo un’applicazione trasparente dell’accordo del gruppo, non l’accordo stesso. Prima di richiedere il denaro, controlli totale, somma dei pesi e peso di ogni persona. Un errore come 20 invece di 2 è matematicamente valido, ma può cambiare radicalmente la distribuzione. La risposta affianca a ogni nome quota normalizzata e importo dovuto, rendendo semplice spiegare come si è giunti al risultato. Conservi gli input originali insieme all’output quando la ripartizione è rilevante per la contabilità, perché i pesi offrono un contesto che i soli importi non mostrano. Per le spese ricorrenti mantenga stabile la regola e la aggiorni apertamente quando cambiano le circostanze. La versione nel browser è comoda per affitto, cena, viaggio o utenza occasionale; l’API applica la stessa regola deterministica in gestionali immobiliari, organizzatori di viaggio, fogli elettronici o strumenti finanziari interni a $0.002 per richiesta. Non avviene alcuna conversione valutaria o trasferimento: tutti gli importi usano una sola unità e viene restituita soltanto l’assegnazione.
Casi d'uso
Dividere l’affitto per dimensione della camera
Usi la superficie relativa o un punteggio concordato per distribuire l’affitto tra coinquilini.
Condividere un viaggio in base alle notti
Ponderi i viaggiatori per le notti di partecipazione affinché i soggiorni brevi costino meno.
Assegnare le spese domestiche per reddito
Usi pesi reddituali concordati per distribuire una fattura comune con calcoli trasparenti.
Domande frequenti
I pesi devono sommare 100?
No. Sono relativi e possono sommare qualsiasi numero positivo.
Cosa succede se tutti i pesi sono zero?
La richiesta restituisce un errore di input, perché con somma zero non è possibile una divisione proporzionale.
Una persona può avere peso zero?
Sì. Dovrà zero purché almeno un’altra persona abbia un peso positivo.
Gli importi dovuti sommeranno esattamente al totale?
Sì. Il metodo dei resti maggiori distribuisce le unità di arrotondamento affinché le quote sommino al totale con la precisione scelta.
Quanto costa l’API?
Ogni richiesta API costa $0.002. La calcolatrice della pagina può essere eseguita localmente gratis.
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/calc3/split-expenses-unequal-shares \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"total":120,"people":[{"name":"Alex","weight":1},{"name":"Blair","weight":2},{"name":"Casey","weight":3}]}'const res = await fetch("https://api.kit.forhosting.com/calc3/split-expenses-unequal-shares", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"total": 120,
"people": [
{
"name": "Alex",
"weight": 1
},
{
"name": "Blair",
"weight": 2
},
{
"name": "Casey",
"weight": 3
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calc3/split-expenses-unequal-shares",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"total": 120,
"people": [
{
"name": "Alex",
"weight": 1
},
{
"name": "Blair",
"weight": 2
},
{
"name": "Casey",
"weight": 3
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calc3/split-expenses-unequal-shares", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"total":120,"people":[{"name":"Alex","weight":1},{"name":"Blair","weight":2},{"name":"Casey","weight":3}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"total":120,"people":[{"name":"Alex","weight":1},{"name":"Blair","weight":2},{"name":"Casey","weight":3}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calc3/split-expenses-unequal-shares", 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
{
"total": 120,
"people": [
{
"name": "Alex",
"weight": 1
},
{
"name": "Blair",
"weight": 2
},
{
"name": "Casey",
"weight": 3
}
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calc3.split_expenses_unequal_shares",
"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. |