簡體   English   中英

我正在嘗試將十進制格式的字符串轉換為lua中的數字

[英]I am trying to convert a string in decimal format to a number in lua

我有2個整數變量,我想轉換為十進制整數。 結果應該是這樣的:

a = 10 
b = 12
c = 10.12

我可以將它們連接起來轉換為字符串十進制,但是我不能在結果上使用數學函數。 我試圖在字符串上使用tonumber() ,但得到一個nil值。

我假設ab開頭是整數,並且您想將它們連接起來,因此a是結果數字的整數部分, b是小數部分-逗號或雙精度或浮點數后的部分。

這是您建議的字符串concat解決方案,對我來說效果很好

a = 10
b = 12

c = tonumber(a..'.'..b)
print(c) -- prints 10.12

在這里,我們使用數學來計算數量,將b除以得到正確的小數位數,然后將其加到a 確定10的冪的代碼在這里找到: 如何計算沒有整數轉換的整數中的數字?

a = 10
b = 12

c = a + b / math.pow(10, b == 0 and 1 or math.floor(math.log(math.abs(b), 10))+1)
print(c) -- prints 10.12

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM