У меня есть еще один вопрос о lua. Я создал метод для вычисления общей суммы некоторых цен. Цены в этом формате: 500 фунтов стерлингов. Поэтому, чтобы преобразовать их в числа, я использую string: sub() и tonumber(), но я получаю некоторые странные результаты. Вот мой код: `Строка не работает правильно
function functions.calculateTotalAmount()
print("calculating total amount")
saveData.totalAmount = 0
print("There are " .. #saveData.amounts .. " in the amount file")
for i=1, #saveData.names do
print("SaveData.amounts[" .. i .. "] original = " .. saveData.amounts[i])
print("SaveData.amounts[" .. i .. "] after sub= " .. saveData.amounts[i]:sub(2))
print("totalAmount: " .. saveData.totalAmount)
if saveData.income[i] then
saveData.totalAmount = saveData.totalAmount + tonumber(saveData.amounts[i]:sub(2))
else
saveData.totalAmount = saveData.totalAmount - tonumber(saveData.amounts[i]:sub(2))
end
end
totalAmountStr.text = saveData.totalAmount .. " " .. currencyFull
loadsave.saveTable(saveData, "payMeBackTable.json")
конец
я распечатал некоторую информацию в для цикла, чтобы определить проблему, и это то, что печатается в течение первых 2-х заявлений печати в цикл:
16: 03: 51.452 SaveData.amounts 1 оригинал = ¥ 201
16: 03: 51.452 SaveData.amounts 1 после суб = 201
Он выглядит отлично здесь, в stackoverflow, но для ¥ на самом деле не осталось в моем журнале, вместо этого он заменен странным символом прямоугольника. Будет напечатан текст, прикрепленный к этому сообщению. Кто-нибудь видит, что здесь происходит?
Это сработало для меня! Я предположил, что подфункция будет работать с этим символом, потому что она, похоже, работает со знаком доллара. Спасибо за помощь! –