Jak mogę przekonwertować dane z ciągu na długie w C #?
Mam dane
String strValue[i] ="1100.25";
teraz chcę to mieć
long l1;
c#
string
type-conversion
long-integer
MayureshP
źródło
źródło
Odpowiedzi:
Ta odpowiedź już nie działa i nie mogę wymyślić nic lepszego niż inne odpowiedzi (patrz poniżej) wymienione tutaj. Przejrzyj je i zagłosuj na nie.
Podpis metody z MSDN:
źródło
Jeśli chcesz uzyskać część całkowitą tej liczby, musisz najpierw przekonwertować ją na liczbę zmiennoprzecinkową, a następnie rzucić na długość.
Możesz użyć
Math
klasy, aby zaokrąglić liczbę, jak chcesz, lub po prostu skrócić ...źródło
FormatException
jeśli uruchomisz to na określonym wejściu.Możesz także użyć
long.TryParse
ilong.Parse
.źródło
http://msdn.microsoft.com/en-us/library/system.convert.aspx
l1 = Convert.ToInt64(strValue)
Chociaż podany przykład nie jest liczbą całkowitą, więc nie jestem pewien, dlaczego chcesz, aby był długi.
źródło
Nie będziesz w stanie zamienić go bezpośrednio na długi z powodu przecinka dziesiętnego, myślę, że powinieneś zamienić go na dziesiętny, a następnie zamienić na długi, coś takiego:
mam nadzieję że to pomoże!
źródło
long jest wewnętrznie reprezentowany jako System.Int64, który jest 64-bitową liczbą całkowitą ze znakiem. Wartość, którą wybrałeś "1100,25" jest w rzeczywistości dziesiętną, a nie całkowitą, dlatego nie można jej zamienić na długość.
Możesz użyć:
aby przekonwertować go na wartość dziesiętną
źródło
Że należy to zrobić.
źródło
Możesz również użyć
Int64.TryParse
metody. Zwróci „0”, jeśli ich wartość jest ciągiem znaków, ale nie wygenerowała błędu.źródło
Możesz stworzyć własną funkcję konwersji:
Można go dalej ulepszyć:
źródło