Форум: "Основная";
Текущий архив: 2003.08.07;
Скачать: [xml.tar.bz2];
ВнизString-> float с DecimalSeparator Найти похожие ветки
← →
yozch_ (2003-07-23 21:50) [0]Коллеги, как просто пребразовать пример типа "3,55" (string) в currency (float) c текущим DecimalSeparator для дальнейших арифметических действий?
← →
default (2003-07-23 21:53) [1]StrToFloat
← →
yozch_ (2003-07-23 21:56) [2]эта штука почему-то не работает в чисто английских виндах :-(, этого-то я понять и не могу, причем в строке отдельной фукцией DecimalSeparator текущий подставляю!
← →
panov (2003-07-23 22:10) [3]Посмотри представление денежных единиц и чисел в аналоге "Языки и стандарты" из панели управления. Думаю, что в этом дело.
← →
yozch_ (2003-07-23 22:18) [4]В том собственно и гимор, что пользователь создает "базу данных" и распространняет среди клиентов с оболочкой, должно работать везде! под себя не подстроишь. Сейчас решил вопрос тем, что сразу меняю сепаратор при загрузке данных на текуший в системе, - все пошло, эти данные обрабатываются. НО, раньше я загружал данные как есть, например с точками, а при расчетах, менял их на запятую, и при этом глючило! Шило на мыло, а результат разный!
Вроде устаивает что сейчас получилось, н вопрос остался.
Всем спасибо.
← →
Anatoly Podgoretsky (2003-07-23 23:25) [5]Неправильно, не надо под себя подстраивать, надо подстраиваться под систему, то есть под пользователя. Правильно написаная программ не требует изменять десятичный разделитель, она просто работает стем, который выбрал пользователь.
← →
Bel (2003-07-24 10:45) [6]Может, написать свою функцию преобразования строки в число, где использовать текущий разделитель. Что-то типа:
function MyStrToFloat (Val: String): Extended;
var
p: Integer;
begin
p := pos(",", Val);
if p > 0 then Val[p] := DecimalSeparator;
p := pos(".", Val);
if p > 0 then Val[p] := DecimalSeparator;
Result := StrToFloat(Val);
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.08.07;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c