Jak w temacie.
Chcę, aby użytkownik nie musiał się martwić czym rozdziela liczby całkowite od dziesiętnych. Zrobiłem to w ten sposób:
float TForm1::spr_float(AnsiString str)
{
float ret;
if ( str=="" ) ret = 0; // jeśli puste pole, zwraca 0 //
else if ( StrToFloatDef(str, 0) ) ret = StrToFloat(str) ; // jeśli przecinek, konwertuje //
else ret = atof(str.c_str()); // jeśli kropka //
return ret;
}
I wszystko ładnie działa, jednak jest duże ALE: Tylko u mnie na komputerze. Jak przeniosę program na inną maszynę, to raz obsługuje kropki/przecinki, ale w większości same kropki.
I to jest ból, bo w niektóre pola wczytuję dane skanerem, a tam separatorem jest "." (kropka), ale często w te same pola wpisuje się dużo danych ręcznie używając bloku numerycznego, a tam separatorem jest "," przecinek.
Wiem, że można w systemie zrobić, żeby była tam kropka zamiast przecinka, ale to odpada - musi tam być przecinek.
Proszę o pomoc.