2016-09-01 41 views
1

我試圖做的是將數字四捨五入到一定數量的用戶給出顯著數字,例如功能,如果用戶給我多少的Lua顯著數字

234.235534 5顯著數字,功能應返回234.24

回答

2

我認爲你正在尋找[fs]?printf's %g修飾符。

將浮點數轉換爲十進制或十進制指數表示法 ,具體取決於值和精度。

其中,所述精度被定義爲:

.接着整數或*,或既不指定 精度的轉換。在使用*的情況下, 精度由int類型的附加參數指定。如果此參數的值爲負數,則會被忽略。如果既不使用數字 也不使用*,則精度取爲零。

所以,你想:

> return ("%.5g"):format(234.235534) 
234.24 
> return ("%.6g"):format(x) 
234.236