Chcę przetworzyć wartość double
na string
. Chcę, aby mój numer miał określoną liczbę cyfr (o których nie będę wiedział do czasu wykonania). Jeśli ta liczba może być wyrażona z niezerową wartością liczby cyfr, to właśnie tego chcę. Jeśli liczba wychodzi jak zero, chcę ją wyrazić w notacji naukowej.Używaj notacji naukowej tylko w razie potrzeby.
Niektóre przykłady to bardziej jasne, to zakłada Chciałem 3 cyfry:
Wartość: 0,2367 wyjściowa: "0,23"
Wartość: 0,00367 wyjściowa: "3.67E-3"
Wartość: 22,3 wyjściowa: „22.3”
Wartość: 3364,0 wyjściowa: „3.36E3”
Moja praca wokół rozwiązanie byłoby użyć metody ToString() i N
numeric format string a jeśli to skutkuje zera powrócić do tekstu formatu E
, ale wydaje się, jakby to było ponowne wynalezienie koła. Czy ktoś wie, czy wbudowana metoda to zrobić?
nie chcesz 2.37E-1 dla pierwszej z nich? –
Właściwie, wolałbym używać tylko zapisu naukowego, jeśli wszystkie wartości były równe 0, ale w każdym razie wystarczyłoby. – Fr33dan