Ho alcuni valori float che voglio convertire in una stringa, voglio mantenere la formattazione uguale durante la conversione, cioè 999.0000 (float) -> 999.0000 (stringa). Il mio problema è quando i valori contengono un numero arbitrario di zeri dopo il punto decimale, come nell'esempio precedente, essi vengono eliminati durante la conversione in una stringa, quindi il risultato a cui finisco effettivamente è 999.Specificatore Float to String
Ho cercato agli specificatori di formato per il metodo toString()
su MSDN, lo specificatore RoundTrip ('R') sembra che produrrà quello che voglio, ma è supportato solo per variabili Single, Double e BigInt. C'è un identificatore di formato come questo per variabili float ?? O sarebbe più semplice convertire i valori in duplicati?
AGGIORNAMENTO: Solo per chiarezza, il motivo per cui voglio mantenere gli zeri finali è perché sto facendo un confronto di cifre decimali, cioè sto confrontando il numero di cifre dopo la cifra decimale tra due valori. Ad esempio, 1.00 e 1.00000 hanno un numero diverso di cifre dopo il punto decimale. So che è una strana richiesta, è per lavoro e il requisito sta venendo dall'alto.
UPDATE 2-3-11:
Stavo pensando a questo troppo duro, sto leggendo i numeri da un file txt e quindi l'analisi come galleggianti, ho intenzione di modificare il programma per controllare se i valori delle stringhe sono decimali o numeri interi. Scusa per aver sprecato il tuo tempo, anche se questo è stato molto perspicace.
quante cifre dopo la virgola?se si desidera mantenere tale dinamica, supponendo che il valore sia corretto, utilizzare .ToString ("G") –
Le cifre variano, per semplificare, direi che l'intervallo di cifre dopo il punto decimale potrebbe essere ovunque tra 1 e 5. – kingrichard2005
.ToString ("G") è ottimale per intervallo variabile –