ADD week 5
This commit is contained in:
64
02-Easy5/E5/sources/kotlin/time/DurationJvmKt.java
Normal file
64
02-Easy5/E5/sources/kotlin/time/DurationJvmKt.java
Normal file
@@ -0,0 +1,64 @@
|
||||
package kotlin.time;
|
||||
|
||||
import java.math.RoundingMode;
|
||||
import java.text.DecimalFormat;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
/* compiled from: DurationJvm.kt */
|
||||
@Metadata(d1 = {"\u0000.\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0010\u0011\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\b\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0006\n\u0002\b\u0002\u001a\u0010\u0010\t\u001a\u00020\u00072\u0006\u0010\n\u001a\u00020\u000bH\u0002\u001a\u0018\u0010\f\u001a\u00020\r2\u0006\u0010\u000e\u001a\u00020\u000f2\u0006\u0010\n\u001a\u00020\u000bH\u0000\u001a\u0018\u0010\u0010\u001a\u00020\r2\u0006\u0010\u000e\u001a\u00020\u000f2\u0006\u0010\n\u001a\u00020\u000bH\u0000\"\u0014\u0010\u0000\u001a\u00020\u0001X\u0080\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0002\u0010\u0003\"\u001c\u0010\u0004\u001a\u000e\u0012\n\u0012\b\u0012\u0004\u0012\u00020\u00070\u00060\u0005X\u0082\u0004¢\u0006\u0004\n\u0002\u0010\b¨\u0006\u0011"}, d2 = {"durationAssertionsEnabled", "", "getDurationAssertionsEnabled", "()Z", "precisionFormats", "", "Ljava/lang/ThreadLocal;", "Ljava/text/DecimalFormat;", "[Ljava/lang/ThreadLocal;", "createFormatForDecimals", "decimals", "", "formatToExactDecimals", "", "value", "", "formatUpToDecimals", "kotlin-stdlib"}, k = 2, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public final class DurationJvmKt {
|
||||
private static final boolean durationAssertionsEnabled = false;
|
||||
private static final ThreadLocal<DecimalFormat>[] precisionFormats;
|
||||
|
||||
public static final boolean getDurationAssertionsEnabled() {
|
||||
return durationAssertionsEnabled;
|
||||
}
|
||||
|
||||
static {
|
||||
ThreadLocal<DecimalFormat>[] threadLocalArr = new ThreadLocal[4];
|
||||
for (int i = 0; i < 4; i++) {
|
||||
threadLocalArr[i] = new ThreadLocal<>();
|
||||
}
|
||||
precisionFormats = threadLocalArr;
|
||||
}
|
||||
|
||||
private static final DecimalFormat createFormatForDecimals(int i) {
|
||||
DecimalFormat decimalFormat = new DecimalFormat("0");
|
||||
if (i > 0) {
|
||||
decimalFormat.setMinimumFractionDigits(i);
|
||||
}
|
||||
decimalFormat.setRoundingMode(RoundingMode.HALF_UP);
|
||||
return decimalFormat;
|
||||
}
|
||||
|
||||
public static final String formatToExactDecimals(double d, int i) {
|
||||
DecimalFormat createFormatForDecimals;
|
||||
ThreadLocal<DecimalFormat>[] threadLocalArr = precisionFormats;
|
||||
if (i < threadLocalArr.length) {
|
||||
ThreadLocal<DecimalFormat> threadLocal = threadLocalArr[i];
|
||||
DecimalFormat decimalFormat = threadLocal.get();
|
||||
if (decimalFormat == null) {
|
||||
decimalFormat = createFormatForDecimals(i);
|
||||
threadLocal.set(decimalFormat);
|
||||
} else {
|
||||
Intrinsics.checkNotNullExpressionValue(decimalFormat, "get() ?: default().also(this::set)");
|
||||
}
|
||||
createFormatForDecimals = decimalFormat;
|
||||
} else {
|
||||
createFormatForDecimals = createFormatForDecimals(i);
|
||||
}
|
||||
String format = createFormatForDecimals.format(d);
|
||||
Intrinsics.checkNotNullExpressionValue(format, "format.format(value)");
|
||||
return format;
|
||||
}
|
||||
|
||||
public static final String formatUpToDecimals(double d, int i) {
|
||||
DecimalFormat createFormatForDecimals = createFormatForDecimals(0);
|
||||
createFormatForDecimals.setMaximumFractionDigits(i);
|
||||
String format = createFormatForDecimals.format(d);
|
||||
Intrinsics.checkNotNullExpressionValue(format, "createFormatForDecimals(… }\n .format(value)");
|
||||
return format;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user