Responsive design Sass/Scss-小数点后四舍五入

Responsive design Sass/Scss-小数点后四舍五入,responsive-design,sass,rounding,subpixel,libsass,Responsive Design,Sass,Rounding,Subpixel,Libsass,我有以下Sass规则: $multiplier: 1/3*100; .ratio_1x0-5{ padding-bottom: 0.5%*$multiplier; } 输出以下css: .ratio_1x0-5{ padding-bottom: 16.6666666667% } 相反,我需要这个规则如下(十进制精度并不重要-只是最后一个值是6-不是7),这是为了解决亚像素渲染问题 .ratio_1x0-5{ padding-bottom: 16.6666% } 如果

我有以下Sass规则:

$multiplier: 1/3*100;
.ratio_1x0-5{
    padding-bottom: 0.5%*$multiplier;
}
输出以下css:

.ratio_1x0-5{
    padding-bottom: 16.6666666667%
}
相反,我需要这个规则如下(十进制精度并不重要-只是最后一个值是6-不是7),这是为了解决亚像素渲染问题

.ratio_1x0-5{
    padding-bottom: 16.6666%
}
如果我使用sass的“floor”功能,它会将整件事情的值舍入到“16%”。有没有办法将Sass中的小数位数四舍五入到x?用mixin来做这个怎么样?我正在使用libsass(sass3.2)

调整“精度”不起作用-最后一个值仍然是“7”。仅更改精度只会截断小数位数-它不会像我需要的那样将最后一个小数位数向下舍入

代码笔:

编辑:无论谁将此标记为重复-这是一个不同的问题,另一个问题是关于“精度”,而我明确解释了为什么这与“精度”无关。我实在说不清楚了。

使用$sass precision:x;
它将明确告诉sass以小数位数取整的内容。

在发布后,根据以下要点找到了答案:

然后按如下方式使用:

.ratio_1x0-5{
    padding-bottom: decimal-round(0.5%*$multiplier, 5, floor);
}

这不只是调整小数位数吗?@cimmanon可能重复-它不是重复-请删除您的标志。其他被接受的问题的答案是关于“精确性”,我在最初的问题中解释说,这不仅仅是关于精确性,而是关于在小数位上执行“floor”操作。我没有义务删除任何内容。仅仅因为被接受的答案不符合你的要求,并不意味着你的问题不是重复的。另一个答案确实回答了您的问题(而且更简单)。否-另一个问题的答案(更改精度)将导致值为16.6667,这是错误的。很明显,您不理解精度和舍入策略之间的区别。我没有要求你做任何事,我只是礼貌地让你把国旗摘下来。请再读一遍我的问题,你没有抓住重点。
.ratio_1x0-5{
    padding-bottom: decimal-round(0.5%*$multiplier, 5, floor);
}