Mam niektóre wartości zmiennoprzecinkowych Chcę przekonwertować na ciąg znaków, chcę zachować formatowanie takie samo podczas konwersji, tj. 999.0000 (zmiennoprzecinkowe) -> 999.0000 (ciąg). Mój problem polega na tym, że wartości zawierają dowolną liczbę zera po przecinku dziesiętnym, tak jak w poprzednim przykładzie, są usuwane podczas przekształcania na ciąg znaków, więc wynik, z którego ostatecznie powstaje, to 999.Specyfikator formatu Float to String Specyfikator
Szukałem w specyfikatorze formatu dla metody toString()
na MSDN, specyfikator RoundTrip ("R") wygląda tak, jakby produkował to, co chcę, ale jest obsługiwany tylko dla zmiennych Single, Double i BigInt. Czy dla zmiennych typu float istnieje specyfikator formatu? A może łatwiej byłoby po prostu przekształcić wartości w debel?
AKTUALIZACJA: Dla jasności, powodem, dla którego chcę zachować końcowe zera, jest to, że dokonuję porównania miejsc dziesiętnych, tj. Porównuję liczbę cyfr po przecinku między dwiema wartościami. Na przykład 1,00 i 1,00000 mają inną liczbę cyfr po przecinku dziesiętnym. Wiem, że to dziwna prośba, to do pracy, a wymaganie przychodzi z wysoka.
UPDATE 3.2.11:
myślałem o tym zbyt mocno, czytam numery z pliku txt, a następnie analizowania ich jako pływaki, mam zamiar zmodyfikować program do sprawdzenia czy wartości ciągu są liczbami dziesiętnymi czy liczbami całkowitymi. Przepraszamy za zmarnowanie twojego czasu, chociaż było to bardzo wnikliwe.
ile cyfr po przecinku?jeśli chcesz zachować tę dynamikę, zakładając, że wartość jest poprawna, przenieś, użyj .ToString ("G") –
Cyfry będą się różnić, aby zachować prostotę, powiedziałbym, że zakres cyfr po przecinku może być gdziekolwiek od 1 do 5. – kingrichard2005
.ToString ("G") jest najlepszy dla zakresu zmiennych –