diff options
Diffstat (limited to 'library/src/main/kotlin')
-rw-r--r-- | library/src/main/kotlin/ca/allanwang/kau/utils/ColorUtils.kt | 2 | ||||
-rw-r--r-- | library/src/main/kotlin/ca/allanwang/kau/utils/Utils.kt | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/library/src/main/kotlin/ca/allanwang/kau/utils/ColorUtils.kt b/library/src/main/kotlin/ca/allanwang/kau/utils/ColorUtils.kt index 8ae23d1..3499647 100644 --- a/library/src/main/kotlin/ca/allanwang/kau/utils/ColorUtils.kt +++ b/library/src/main/kotlin/ca/allanwang/kau/utils/ColorUtils.kt @@ -28,6 +28,8 @@ fun Int.toHexString(withAlpha: Boolean = false, withHexPrefix: Boolean = true): return if (withHexPrefix) hex else hex.substring(1) } +fun Int.toRgbaString() :String = "rgba(${Color.red(this)}, ${Color.green(this)}, ${Color.blue(this)}, ${(Color.alpha(this)/255f).round(3)})" + fun Int.toHSV(): FloatArray { val hsv = FloatArray(3) Color.colorToHSV(this, hsv) diff --git a/library/src/main/kotlin/ca/allanwang/kau/utils/Utils.kt b/library/src/main/kotlin/ca/allanwang/kau/utils/Utils.kt index d3db05e..1ba54e0 100644 --- a/library/src/main/kotlin/ca/allanwang/kau/utils/Utils.kt +++ b/library/src/main/kotlin/ca/allanwang/kau/utils/Utils.kt @@ -5,8 +5,11 @@ import android.content.pm.PackageManager import android.content.res.Resources import android.os.Build import android.os.Looper +import android.support.annotation.IntRange import ca.allanwang.kau.R import ca.allanwang.kau.logging.KL +import java.math.RoundingMode +import java.text.DecimalFormat /** @@ -61,4 +64,12 @@ fun Context.minuteToText(minutes: Long): String = with(minutes) { else if (this % 1440L == 0L) String.format(string(R.string.kau_x_days), this / 1440L) else if (this % 60L == 0L) String.format(string(R.string.kau_x_hours), this / 60L) else String.format(string(R.string.kau_x_minutes), this) +} + +fun Number.round(@IntRange(from = 1L) decimalCount: Int): String { + val expression = StringBuilder().append("#.") + (1..decimalCount).forEach { expression.append("#") } + val formatter = DecimalFormat(expression.toString()) + formatter.roundingMode = RoundingMode.HALF_UP + return formatter.format(this) }
\ No newline at end of file |