From e54bafbd3c73d5b98935a16edeb8a42348dd37c6 Mon Sep 17 00:00:00 2001 From: Yoh Deadfall Date: Fri, 6 Aug 2021 15:48:44 +0300 Subject: [PATCH 1/4] Fixed default number format --- src/Humanizer.Tests.Shared/Bytes/ToStringTests.cs | 1 + src/Humanizer/Bytes/ByteSize.cs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Humanizer.Tests.Shared/Bytes/ToStringTests.cs b/src/Humanizer.Tests.Shared/Bytes/ToStringTests.cs index 7463f91b9..017f1e57c 100644 --- a/src/Humanizer.Tests.Shared/Bytes/ToStringTests.cs +++ b/src/Humanizer.Tests.Shared/Bytes/ToStringTests.cs @@ -37,6 +37,7 @@ public void ReturnsLargestMetricSuffix() [Fact] public void ReturnsDefaultNumberFormat() { + Assert.Equal("10.5 KB", ByteSize.FromKilobytes(10.501).ToString()); Assert.Equal("10.5 KB", ByteSize.FromKilobytes(10.5).ToString("KB")); } diff --git a/src/Humanizer/Bytes/ByteSize.cs b/src/Humanizer/Bytes/ByteSize.cs index 22517c0b9..01e5220c0 100644 --- a/src/Humanizer/Bytes/ByteSize.cs +++ b/src/Humanizer/Bytes/ByteSize.cs @@ -228,7 +228,7 @@ public string ToString(IFormatProvider provider) if (provider == null) provider = CultureInfo.CurrentCulture; - return string.Format("{0} {1}", LargestWholeNumberValue.ToString(provider), GetLargestWholeNumberSymbol(provider)); + return string.Format("{0:0.##} {1}", LargestWholeNumberValue.ToString(provider), GetLargestWholeNumberSymbol(provider)); } public string ToString(string format) From 359fd8733cb33b1463112dc2695df10a5ed1842a Mon Sep 17 00:00:00 2001 From: Yoh Deadfall Date: Tue, 5 Oct 2021 21:38:37 +0300 Subject: [PATCH 2/4] Removed ToString call ignoring the format --- src/Humanizer/Bytes/ByteSize.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Humanizer/Bytes/ByteSize.cs b/src/Humanizer/Bytes/ByteSize.cs index 01e5220c0..938f7280c 100644 --- a/src/Humanizer/Bytes/ByteSize.cs +++ b/src/Humanizer/Bytes/ByteSize.cs @@ -220,7 +220,7 @@ public static ByteSize FromTerabytes(double value) /// public override string ToString() { - return ToString(NumberFormatInfo.CurrentInfo); + return ToString(provider: null); } public string ToString(IFormatProvider provider) @@ -228,7 +228,7 @@ public string ToString(IFormatProvider provider) if (provider == null) provider = CultureInfo.CurrentCulture; - return string.Format("{0:0.##} {1}", LargestWholeNumberValue.ToString(provider), GetLargestWholeNumberSymbol(provider)); + return string.Format("{0:0.##} {1}", LargestWholeNumberValue, GetLargestWholeNumberSymbol(provider)); } public string ToString(string format) From 7fabb23df07dcf5da7199a89f3c541741575c8b6 Mon Sep 17 00:00:00 2001 From: Yoh Deadfall Date: Tue, 5 Oct 2021 22:07:31 +0300 Subject: [PATCH 3/4] Fixed number formatting --- src/Humanizer/Bytes/ByteSize.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Humanizer/Bytes/ByteSize.cs b/src/Humanizer/Bytes/ByteSize.cs index 938f7280c..655604242 100644 --- a/src/Humanizer/Bytes/ByteSize.cs +++ b/src/Humanizer/Bytes/ByteSize.cs @@ -220,7 +220,7 @@ public static ByteSize FromTerabytes(double value) /// public override string ToString() { - return ToString(provider: null); + return ToString(NumberFormatInfo.CurrentInfo); } public string ToString(IFormatProvider provider) @@ -228,7 +228,7 @@ public string ToString(IFormatProvider provider) if (provider == null) provider = CultureInfo.CurrentCulture; - return string.Format("{0:0.##} {1}", LargestWholeNumberValue, GetLargestWholeNumberSymbol(provider)); + return string.Format(provider, "{0:0.##} {1}", LargestWholeNumberValue, GetLargestWholeNumberSymbol(provider)); } public string ToString(string format) From 7f86099b42ab8535f08b99256498aded788965d0 Mon Sep 17 00:00:00 2001 From: Yoh Deadfall Date: Tue, 5 Oct 2021 22:21:42 +0300 Subject: [PATCH 4/4] Fixed expected value --- src/Humanizer.Tests.Shared/Bytes/ByteRateTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Humanizer.Tests.Shared/Bytes/ByteRateTests.cs b/src/Humanizer.Tests.Shared/Bytes/ByteRateTests.cs index e596211a2..35e747fa6 100644 --- a/src/Humanizer.Tests.Shared/Bytes/ByteRateTests.cs +++ b/src/Humanizer.Tests.Shared/Bytes/ByteRateTests.cs @@ -47,7 +47,7 @@ public void TimeUnitTests(long megabytes, double measurementIntervalSeconds, Tim } [Theory] - [InlineData(19854651984, 1, TimeUnit.Second, null, "18.4910856038332 GB/s")] + [InlineData(19854651984, 1, TimeUnit.Second, null, "18.49 GB/s")] [InlineData(19854651984, 1, TimeUnit.Second, "#.##", "18.49 GB/s")] public void FormattedTimeUnitTests(long bytes, int measurementIntervalSeconds, TimeUnit displayInterval, string format, string expectedValue) {