SASS如何将1/3的浮点结果舍入到33.33334?

时间:2015-09-06 12:39:28

标签: floating-point sass

在SASS中,1/3结果为33.33333,浏览器会将此大小的三个元素总结为99.984。我需要的是数字100,这可以通过堆叠三个大小为33.33334的元素来实现。我怎样才能强迫SASS整理最后一个分区?

演示:http://sassmeister.com/gist/577dec6f9b85b70c3621

2 个答案:

答案 0 :(得分:2)

好的,解决方案是使用 Terkel 编写的外部函数。

他的十进制舍入函数:https://gist.github.com/terkel/4373420

用法

<fragment
    android:name="com.google.android.gms.maps.MapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/map" />

答案 1 :(得分:1)

您必须使用乘法,除法和ceil()滚动自己的舍入方法。

.tile {
  &-1-3 {
    $num: 1 / 3; // 0.33333
    // the number we multiply by should have the same number of
    // zeros as there are decimal places you want to keep + the
    // number of digits there will be on the left side of the decimal
    $num: $num * 10000000; // 3333333.33333
    // ceil to round up
    $num: ceil($num); // 3333334
    // divide by that amount again
    $num: $num / 10000000; // 33.33334
    width: $num * 100%; // 33333.34%
  }
}