unity實戰 lua實現策劃需要保留的小數字數

2021-09-07 08:11:18 字數 680 閱讀 3905

需求描述:

策劃需求角色面板屬性顯示一定的小數字,

比如:攻擊速度顯示保留小數點後兩位,0.01

保留小數實現方案:

1)字串方式

local x = 12345.6789

string.format("%.2f", x)   -- 驗證發現尾數是四捨五入,結果是12345.68

string.format("%.0f", x)   -- 這樣也可以取整,四捨五入,結果是12346

string.format("%d", x)    -- 整數部分不會四捨五入,結果是12345

2)數字方式

local x = 12345.12345

print(x%1, x%0.1, x%0.01, x%0.001, x%0.0001, x - x%0.0001)

結果輸出是:0.12346000..., 0.023460000...,0.00345999....., 0.00046000000...,0.00006..., 12345.1234   -- 驗證發現尾數是直接擷取的,並沒有四捨五入效果

3)lua庫介面:

local x = 12345.678

math.ceil(x) -- 向上取整,小數不為0整數加1,結果為12346 

如果想實現四捨五入,使用+0.5向下取整:math.floor(x+0.5)

EF 小數字的保留

問題描述 當採用ef的dbcontext儲存decimal型別資料到資料庫,預設只會儲存小數點後的前2位小數,其餘均置0 例如儲存101.182352152322,實際存到資料庫裡的資料為101.180000000000 解決方法 在建立專案dbcontext時,重寫dbcontext.onmode...

flash中保留小數字的方法

flash中並沒有內建的儲存小數字的方法,但是當你想把如3.14159265354.這樣的資料只保留兩位數時怎麼辦,下面的函式就可以解決這個問題.資料計算方法保留小數字 author fanflash.cn version 0.1 num 源數值 n 保留的小數字 return 保留小數字後的資料 ...

javascript 對於保留小數字的處理

在開發過程中經常遇到要調整小數的格式,如保留小數點後兩位等等。方法也頗為常見,備忘如下。第一種,利用math.round var original 28.453 1 round original to two decimals var result math.round original 100 1...