diff --git a/osu.Game.Tests/Extensions/NumberFormattingExtensionsTest.cs b/osu.Game.Tests/Extensions/NumberFormattingExtensionsTest.cs index b02bf01019..3a96459b73 100644 --- a/osu.Game.Tests/Extensions/NumberFormattingExtensionsTest.cs +++ b/osu.Game.Tests/Extensions/NumberFormattingExtensionsTest.cs @@ -46,9 +46,12 @@ namespace osu.Game.Tests.Extensions [Test] [SetCulture("fr-FR")] - public void TestCultureInsensitivity() + [TestCase(0.4, true, 2, ExpectedResult = "40%")] + [TestCase(1e-6, false, 6, ExpectedResult = "0.000001")] + [TestCase(0.48333, true, 4, ExpectedResult = "48.33%")] + public string TestCultureInsensitivity(double input, bool percent, int decimalDigits) { - Assert.That(0.4.ToStandardFormattedString(maxDecimalDigits: 2, asPercentage: true), Is.EqualTo("40%")); + return input.ToStandardFormattedString(decimalDigits, percent); } } } diff --git a/osu.Game/Extensions/NumberFormattingExtensions.cs b/osu.Game/Extensions/NumberFormattingExtensions.cs index 33252448fc..ff35dbc2a0 100644 --- a/osu.Game/Extensions/NumberFormattingExtensions.cs +++ b/osu.Game/Extensions/NumberFormattingExtensions.cs @@ -36,7 +36,7 @@ namespace osu.Game.Extensions string negativeSign = Math.Round(floatValue, significantDigits) < 0 ? "-" : string.Empty; - return FormattableString.Invariant($"{negativeSign}{Math.Abs(floatValue).ToString($"N{significantDigits}")}"); + return $"{negativeSign}{Math.Abs(floatValue).ToString($"N{significantDigits}", CultureInfo.InvariantCulture)}"; } /// diff --git a/osu.Game/Rulesets/Mods/ModRateAdjust.cs b/osu.Game/Rulesets/Mods/ModRateAdjust.cs index d5fc1363bb..49bdd93bc6 100644 --- a/osu.Game/Rulesets/Mods/ModRateAdjust.cs +++ b/osu.Game/Rulesets/Mods/ModRateAdjust.cs @@ -32,7 +32,7 @@ namespace osu.Game.Rulesets.Mods get { if (!SpeedChange.IsDefault) - yield return ("Speed change", $"{SpeedChange.Value:N2}x"); + yield return ("Speed change", FormattableString.Invariant($@"{SpeedChange.Value:N2}x")); } }