Ci sono così tanti sapori di BASIC, alcuni solo storici e alcuni ancora in uso, che è impossibile dare una risposta vera.
Alcuni dei vecchi BASIC (i numeri BASIC della linea) avevano due tipi di dati: String o Integer. Il BASIC originale fornito con i computer Apple-II era un "Integer BASIC". Più tardi i BASIC hanno introdotto il Floating Point, che era spesso FP a precisione singola. Il BASIC fornito con la TI-99/4a era un esempio di BASIC a virgola mobile degli inizi degli anni '80. "Indietro nel tempo quando", si renderebbe una stringa letterale con virgolette e una variabile stringa con un sigillo $
che segue il nome dell'identificatore. Le variabili che non avevano il sigillo $
di solito venivano impostate di default sul tipo di variabile numerica che aveva il sapore di base supportato (Integer o Floating Point). GWBasic, ad esempio, avrebbe un valore predefinito in virgola mobile a meno che non si specificasse il sigillo %
, che significava "intero". TI Extended Basic non aveva un tipo intero, ma il tipo numerico a virgola mobile aveva qualcosa come 15 cifre significative, se ricordo (errori matematici in virgola mobile non resistenti).
Queste prime basi erano essenzialmente tipizzate staticamente, sebbene la distinzione fosse molto meno utile rispetto a lingue più potenti. Le scelte per i tipi di dati erano poche: String, Number (a volte Int, a volte FP) e talvolta con la possibilità di specificare se un numero come Int o FP. Dietro le quinte alcuni persino liberamente convertiti tra intarsi e virgola mobile, se necessario. Spesso tali conversioni dietro le quinte non erano ben documentate.
Ma quello era lo stato delle cose negli anni '80, quando tutti con un computer di casa erano uno hobbiest e gli standard erano allentati. Ogni produttore di hardware sembrava avere la sua opinione su come BASIC dovrebbe funzionare.
I BASIC più moderni sono più potenti e consentono un controllo più stretto sui tipi variabili (quando necessario).
Grazie per la risposta dettagliata. –