2016-09-01 21 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