OlegON➤ Запусти отдельно этот скрипт и рассказывай, где как и что запускаешь, если не получается.
Полностью закинул твой пример в свой цикл
Цитата:
for i = 0, __item.properties:size() - 1 do
local property = __item.properties:at(i);
if (ukm.binary(property.flags) *
ukm.binary(ukm.item_property.flgprint)):get() ~= 0 then
local property_name = property.code;
if property.name ~= nil then
property_name = property.name:get();
end
text = text .. ukm.adjustment(" " .. property_name, property.value .. " ", width, ".") .. "\n";
if property_name == 'Сумма' then val = "String";
val = tostring(7.5);
val = string.gsub(val,".",",");
end
if property_name == 'Номер телефона' then
text = text .. ukm.adjustment("Сумма с комиссией (4%)",val .. " ", width, ".") .. "\n";
end
end
end
Tiger➤ В том то и дело что меняются почему-то все символы (в том числе и цифры) на запятые
Eсли property.value = 15.20, функцией gsub string.gsub(property.value,"1",","), то получаю результат ,5.20. Почему когда меняю string.gsub(property.value,".",","), получаю ,,,,, - пять запятых?
OlegON➤ Так у него с локалью проблемы, как он на 100 умножит?
у меня не на чем протестировать - луа нету, но в винде в аксесе умножение проходит над строкой в зависимости от локали - если локаль точка и на входе в строке точка все рассчитается - аналогично как и с запятой
правда если локаль точка а строка идет с запятой или наоборот, то тогда уже вопрос к ф-ции которая так возвращает строку в которой разделитель числа отличается от локали:)
самому стало интересно :) решил погуглить
там есть
function userdata.numberformat(amount)
-- replace decimal point with comma (= German format)
return string.gsub(string.format("\%.2f", amount), "%.", ",")
end