在使用lua進行開發的時候,經常會遇到保留n位小數的問題,這裡以保留兩位小數為例,記錄一下需要注意的地方!
在選擇處理方案之前,首先要確認需求,搞清楚保留兩位小數是指小數點後第三位四捨五入還是從小數點後第三位開始直接捨去!
小數點後第三位四捨五入
string.format("%.2f", num)
local num1, num2 = 0.1234, -1.5678
print(string.format("%.2f", num1), string.format("%.2f", num2))
-- 0.12 -1.57
-- 保留n位小數
function keepdecimaltest(num, n)
if type(num) ~= "number" then
return num
endn = n or 2
return string.format("%." .. n .. "f", num)
endprint(keepdecimaltest(num1, 3), keepdecimaltest(num2, 3))
-- 0.123 -1.568
string.format返回值的型別為string
從小數點後第三位開始直接捨去
num - num % 0.01
-- 保留n位小數
function keepdec
JS中保留兩位小數
這裡使用字串的 123.0000 是因為如果使用var number 123.0000這種number型別宣告方式js會把後面的4個0自動省略為123.var number 123.0000 d d d 該規則中的 1代表取第乙個括號的內容,來替換當前字串,在括號外加上 d 是為了匹配123.000...
關於js中保留兩位小數
numberobject.tofixed num 關於這裡的num,是必填的,用於規定小數的位數,是 0 20 之間的值,包括 0 和 20,如果省略了該引數,將用 0 代替。關於這個方法的返回值,返回值型別是字串並不是數值!今天我用了這個方法取兩位小數,最後累加的結果嚇我一跳,是把所有結果當成字串...
java中保留兩位小數的方法
1.bigdecimal的setscale roundingmode 捨入模式 1.up down 基準為數字0 2.ceiling floor 基準為正負無窮大 3.half up 通常學校裡講的四捨五入 去符號四捨五入,再加回符號 4.half down 向數字方向捨入的捨入模式,如果與兩個相鄰...