Aktywne Wpisy

lord-nihilus +242
Treść przeznaczona dla osób powyżej 18 roku życia...

HoroLive +2
#alkoholizm
Czy jestem alkoholikiem według wykopków, jak rzygam na widok wódki/wina/mocnych alkoholi, zapachu smaku, ale lubie sobie walnąć od 10 lat piwko 5%? Jeszcze nie zdarzyło się żeby a-----l bym ważniejszy niż cokolwiek XD ale jak czytam to chyba wedlug wiekszosci nawróconych alkoholików jestem obszczanym menelem ( ͡° ͜ʖ ͡°)
Czy jestem alkoholikiem według wykopków, jak rzygam na widok wódki/wina/mocnych alkoholi, zapachu smaku, ale lubie sobie walnąć od 10 lat piwko 5%? Jeszcze nie zdarzyło się żeby a-----l bym ważniejszy niż cokolwiek XD ale jak czytam to chyba wedlug wiekszosci nawróconych alkoholików jestem obszczanym menelem ( ͡° ͜ʖ ͡°)





Panowie mam problem ponieważ mam tablicę jedno wymiarową string gdzie są same wartości numeryczne (również wartości przecinkowe) a muszę z tego wyznaczyć minimalną wartość... I tu jest problem bo nie mogę tego przekonwertować.. Próbowałem tak :
static double fMin(string[] tab)
{
double[] tab2 = new double[tab.Length];
for (int i = 0; i < tab.Length; i++) {
tab2[i] = Convert.ToDouble(tab[i]);
}
double min = /tab.First()
for (int i = 1; i < tab.Length; i++)
{
if (tab2[i] < min)
min = tab2[i];
}
return min;
}
Lecz niestety wyrzuca mi błąd, że "nieprawidłowy format ciągu wejściowego"... Ktoś mi coś poradzi ;) ?
Bo przecinek w jednym kraju służy do oddzielenia tysięcy a winnym części ułamkowej. Gdzie indziej używa się kropki zamiast przecinka.
Masz IFormatProvider w wersji przeciążonej Convert.ToDouble
using System.Globalization;
Convert.ToDouble(tab[i], new CultureInfo("pl-pl"));
Convert.ToDouble(tab[i], new CultureInfo("en-us"));
itp...
gejowskie (bo po stringu), ale najszybsze:
w pętli np. tab2[i].Replace(',','.'); //cuś takiego może odwrotnie, przecinek z kropką
@Phoryn:
Przejrzałbym plik i zrobił to wykorzystując odpowiednią kulturę albo dostosowując ją
var cultureInfo = CultureInfo.InvariantCulture.Clone() as CultureInfo;
cultureInfo.NumberFormat.NumberDecimalSeparator = ","; // tu okreslamy separator dla ułamków
cultureInfo.NumberFormat.NumberGroupSeparator = "."; // tu określamy separator dla tysięcy akurat kropa
Jedna linijka wystarczy.
new string[] { "1.22", "1.23", "7.68", "9.45","1,122.1" }
i już nie zadziała( ͡° ͜ʖ ͡°)
przecież chodzi o błąd formatu
Akurat sprawdziłem i wszędzie są kropki... nie ma przecinków, więc to nei może być problem tego...
Może po prostu napisałbym nową metodę, która przepisze mi tablicę jednowymiarową stringów na tablicę jednowymiarową intów...
i powinno działać chyba, że masz spacje między tysiącami:)
using System.Globalization; -to też musisz dodać.
Amerykanie używają kropki do części ułamkowej a my przecinka stąd masz błąd formatu bo wzięło z do konwersji ustawienia domyślne komputera
static double[] StringDoTablicy(string[] tab) {
string a;
double[] tablica =