From 02ea4d7acab5775e3b702b7ea61050c2b0553bd3 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 19 Jul 2021 13:40:13 +0700 Subject: [PATCH] Fixed test failures. --- .../ExtensionMethods.cs | 34 ++++++++----------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/UnityPerformanceBenchmarkReporter/ExtensionMethods.cs b/UnityPerformanceBenchmarkReporter/ExtensionMethods.cs index 20a515a..37a73fc 100644 --- a/UnityPerformanceBenchmarkReporter/ExtensionMethods.cs +++ b/UnityPerformanceBenchmarkReporter/ExtensionMethods.cs @@ -1,35 +1,29 @@ -using System; +using System; using System.Globalization; namespace UnityPerformanceBenchmarkReporter { public static class ExtensionMethods { - public static double TruncToSigFig(this double d, uint digits) + public static double TruncToSigFig(this double value, uint digits) { - double truncated; - - if(d == 0) + if (value == 0) { - truncated = 0; + return 0; } - else + + var valueStr = Convert.ToString(value, CultureInfo.InvariantCulture); + var parts = valueStr.Split('.'); + if (parts.Length <= 1 || parts[1].Length <= digits) { - var s = Convert.ToString(d, CultureInfo.InvariantCulture); - var parts = s.Split('.'); - if (parts.Length <= 1 || parts[1].Length <= digits) - { - truncated = d; - } - else - { - var newSigDigits = parts[1].Substring(0, (int) digits); - var truncString = string.Format("{0}.{1}", parts[0], newSigDigits); - truncated = Convert.ToDouble(truncString); - } + return value; } - return truncated; + var truncString = digits == 0 + ? parts[0] + : $"{parts[0]}.{parts[1][..(int) digits]}"; + + return Convert.ToDouble(truncString, CultureInfo.InvariantCulture); } } }