Wątek przeniesiony 2016-03-22 23:00 z C# i .NET przez somekind.

Używanie przecinka oraz kropki w c++ builder

0

Witam. Ja w c++ builderze ustawić aby można było do obliczeń używać kropek i przecinków?
Np. liczna 10,5 i 10.5 to ta sama liczba. Nie chodzi mi o zmianę w systemie windows separatora ale o ustawienie możliwości wpisywania przez użytkownika zarówno kropek jak i przecinków.
A drugie pytanie. Ja wyświetlić w labeledEdit wyniki z kropką.
Dziękuję za pomoc

0
double value=StrToFloat(StringReplace(StringReplace(Edit1->Text,".",DecimalSeparator,TReplaceFlags()),",",DecimalSeparator,TReplaceFlags()));
0

Nie mogę sobie z tym poradzić.
Zmieniłem trochę zapis na:
double value=StrToFloat(StringReplace(StringReplace(Edit1->Text,".",DecimalSeparator) a w tym miejscu zatrzymuje się kursor i wyskakuje błąd,",",DecimalSeparator));

Błąd:
[C++ Error] Unit1.cpp(26): E2193 Too few parameters in call to '_fastcall StringReplace(const AnsiString,const AnsiString,const AnsiString,TReplaceFlags)'

0

Super.Wielkie dzięki za pomoc. Wczytywanie kropki i przecinka do obliczeń działa.
W moim przypadku zrobiłem to tak:
da1=StrToFloat(StringReplace(StringReplace(LabeledEdit7->Text,".",DecimalSeparator,TReplaceFlags()),",",DecimalSeparator,TReplaceFlags()));

A wyświetlanie kropki zamiast przecinka zrobiłem w taki sposób:

Edit1->Text=FloatToStr(c);
Edit1->Text = StringReplace(Edit1->Text, ",", ".", TReplaceFlags() << rfReplaceAll);

gdzie "c" jest liczbą z obliczeń.
Niestety nie wiem jak to wsadzić do jednej linijki. Ale działa.

0
  1. Po kiego ci rfReplaceAll? Spodziewasz się kilku przecinków w liczbie?
  2. Po kiego Przepuszczasz to przez Edit1->Text, nie można od razu?
Edit1->Text = StringReplace(FloatToStr(c),DecimalSeparator,".",TReplaceFlags());
0

Faktycznie lepiej. dzięki za pomoc.

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