przy zamianie 1mm na km dostaję 1E-06 km

0

Witam jestem w trakcie pisania programiku no i mam problem przy podawaniu małych wartości mm jak zamieniam na km.

Przykład wpisuje ile to 1 mm na km, a program podaje mi 1E-06 km.
To samo gdy 10 mm na km, pokazuje 1E-05 km.
Dopiero, gdy wpisuje 100 mm na km, to widzę wynik: 0,0001 km

            double a,b,c;
            a = Convert::ToDouble(textBox1->Text);
            c = 0.000001;
            b = a*c;
            label2->Text=Convert::ToString(b);
           

Jak poprawić, aby zawsze podawało mi, że 1 mm to 0,000001 km.

1

Użyj String::Format

0

Może jeszcze jakaś podpowiedź jak konkretnie tego użyć :( bo zbytnio nie rozumiem tego. A znalezione w google przykłady nic mi nie mówią jak to zastosować w moim przypadku.

0

Tego nie widziałem, czyli rozumiem, że mam coś typu:

label2->Text=Convert::ToString("F0"+b+" km");

błędów 0

Ale dalej wynik zwraca 1E-06 km.
Ehhh coś chyba źle zrozumiałem. Próbowałem kilka sposobów na implementację tego i albo jest z błędem, albo bez i nic nie wnosi. Proszę o podpowiedź.

0

Czy pod tym linkiem co podałem widzisz jakikolwiek ToString ?
Użyj metody Format

0

Przepraszam, ale jednak nie ogarniam tego. Nie mogę dojść jak poprawnie to zaimplementować. Wiem mniej więcej o co chodzi, znalazłem dodatkowo różne inne przykłady w google odnośnie tego formatowania, ale niestety nie potrafię tego ogarnąć ;(
Spędziłem dziś ponad pół dnia nad tą głupią rzeczą i ciągle mam błędy. Ktoś jest w stanie poświęcić chwilę aby ukazać rozwiązanie. Byłbym wdzięczny bo ja chyba nigdy nie dojdę do tego :(

1

Convert::ToString("F6",b)+"km";

0

Tego typu rozwiązania próbowałem, ale gdy daje:

label2->Text=Convert::ToString("F6",b);

To mam błąd odnośnie:

Error 1 error C2665: 'System::ToString' : none of the 37 overloads could convert all the argument types c:\users...\k\Form1.h 332

0

label2->Text=String::Format("{0:F6}",b);

0

Teraz przy tych samych danych wywala błąd po kliknięciu w button.

http://img59.imageshack.us/img59/2171/rx8h.png

Edit.

OK już działa. Skopiowałem bezmyślnie

label2->Text=String::Format("0:F6}",b);

a tam powinno być {0:F6} brakowało { ;)
Dziękuję bardzo za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1